0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

軟件開(kāi)發(fā)人員應(yīng)遵循的四項(xiàng)信息安全原則

Dbwd_Imgtec ? 2018-03-08 18:52 ? 次閱讀

信息安全性是一個(gè)經(jīng)常被開(kāi)發(fā)人員誤解的主題,因?yàn)榻^大多數(shù)人關(guān)注的是安全技術(shù)層面,而非涉及人員、金錢、風(fēng)險(xiǎn)和業(yè)務(wù)優(yōu)先級(jí)等更廣泛的主題。因而,我們經(jīng)??吹揭?yàn)闆Q策失誤使得問(wèn)題更為復(fù)雜,同時(shí)也造成資源浪費(fèi)。

在構(gòu)建和選擇安全解決方案的時(shí)候,開(kāi)發(fā)人員必須為業(yè)務(wù)和組織架構(gòu)挑選出最為準(zhǔn)確的方案。對(duì)于初級(jí)開(kāi)發(fā)人員而言,如何清楚地知道該在哪些范圍內(nèi)做出安全決策,顯得尤其重要。

1. 避免教條主義和絕對(duì)主義

最近有一位投稿人在dev.to 文章中分享了關(guān)于JSON網(wǎng)頁(yè)令牌和本地緩存主題的建議,如下。

現(xiàn)如今我所能看到的最大的安全隱患是JWTs(session 數(shù)據(jù))的本地緩存。然而許多人并未意識(shí)到這些JWTs數(shù)據(jù)本質(zhì)上就等同于用戶名和密碼。如果JWT被黑客復(fù)制,他就可以以你的名義向網(wǎng)站發(fā)送各種請(qǐng)求,而你卻一無(wú)所知。要像對(duì)待信用卡賬號(hào)和密碼一樣來(lái)對(duì)待你的JWTs,絕不要將其存儲(chǔ)在本地。

提出這個(gè)建議的文章很好,并且涵蓋了很多關(guān)于JavaScript本地緩存的重要話題,確實(shí)值得一讀。但遺憾的是,這種關(guān)于JWTs和安全的描述具有誤導(dǎo)性,至少缺少開(kāi)發(fā)者所需要理解的細(xì)微差別。

使用 JWT 本地存儲(chǔ)的立場(chǎng)絕對(duì)是:不要這樣做!你將JWT存儲(chǔ)在哪并不重要,存儲(chǔ)在某個(gè)'安全'的地方并不能保證安全。關(guān)鍵問(wèn)題是,你在JWT中存放了什么信息,你用JWT做什么,去獲取什么?

如果你的回答不包含任何的個(gè)人可識(shí)別(標(biāo)志)信息,或含有最少的個(gè)人可標(biāo)志信息,這樣的話你就可以考慮使用JWT去做你想做的。如果關(guān)于以上問(wèn)題的回答是:存儲(chǔ)他們所有的信用卡信息,那么你應(yīng)該考慮用另外的技術(shù)來(lái)替代JWT。

比如,如果你要實(shí)現(xiàn)在線新聞出版物內(nèi)容收費(fèi),本地存儲(chǔ)的JWTs將是一個(gè)完全可以接受的安全解決方案。你保護(hù)的內(nèi)容是低價(jià)值的,沒(méi)有個(gè)人可標(biāo)志信息,所以黑客對(duì)這些內(nèi)容并不會(huì)感興趣。盡管普通Web用戶沒(méi)有付費(fèi)時(shí)JWT會(huì)打斷(終止)其訪問(wèn)內(nèi)容 — 一個(gè)簡(jiǎn)單的安全需求解決方案。

你會(huì)注意到這種解決安全問(wèn)題的方法并不是那么教條和專制。有才華的開(kāi)發(fā)者傾向于成為教條主義和專制主義者,可能是因?yàn)樗麄兛吹降乃袞|西都是“不好的”,或者至少不夠完美。這有點(diǎn)像當(dāng)年柏拉圖在公元前5世紀(jì)看待雅典時(shí)期的態(tài)度,但像柏拉圖一樣,這種方法可能會(huì)導(dǎo)致解決不好的方案和糟糕的答案。對(duì)于試圖理解某個(gè)話題的人來(lái)說(shuō),這可能是無(wú)益的,特別是如果他們是新手的話。

在處理安全問(wèn)題以避免教條、專制主義和一刀切等問(wèn)題時(shí),這是明智的。這與道德絕對(duì)“不要?dú)⒙尽毕喈?dāng),因?yàn)榘踩婕案嗟募?xì)微差別。

2. 沒(méi)有跟安全性一樣的事物

安全的核心有一個(gè)極大的諷刺,那就是它并不存在。最近Google Chrome在Twitter上宣布,他們將把所有使用HTTP的網(wǎng)站標(biāo)記為“不安全”。他們已經(jīng)在網(wǎng)址欄中將HTTPS網(wǎng)站標(biāo)記為“安全”。

Twitter廣告信息及隱私

這很奇怪,因?yàn)镠TTPS或通過(guò)TLS的HTTP是非常有用的安全增強(qiáng)功能,但不能保證其安全性。這是完全可能的:建立一個(gè)站點(diǎn)并通過(guò)HTTP提供服務(wù),可提供比通過(guò)HTTPS服務(wù)的站點(diǎn)更安全的方式。

Google此舉非常不負(fù)責(zé)任,因?yàn)樗麄儠?huì)使普通網(wǎng)絡(luò)用戶處于危險(xiǎn)而不自知,以至于對(duì)線上行為放松警惕。而這還未涉及HTTPS 連接是如何實(shí)現(xiàn)的,請(qǐng)參見(jiàn)靈活的SSLCloudFlare。將這類連接定義成“安全”或者“不安全”會(huì)產(chǎn)生誤導(dǎo),更為明智的做法是定義為“私人的”或“公共的”。

絕對(duì)的安全并不存在,就算是采用最先進(jìn)的技術(shù)也不能保證。安全性是相對(duì)被保護(hù)的對(duì)象而言的。幾千年來(lái),人類建造了各種各樣的圍墻來(lái)保證安全,但皆非固若金湯。

如果不信,那就找個(gè)伊朗人問(wèn)問(wèn)。憑借以色列人的幫助,美國(guó)在2009年入侵了伊朗名為 Natanz 核設(shè)施,其中或許還有英國(guó)人的幫助?;蛟S你還記得當(dāng)時(shí)Stuxnet 病毒 ,它可是這起事件的罪魁禍?zhǔn)?。那次黑客的特別之處在于,Natanz 核設(shè)施采用的是空氣隙技術(shù),它可能是世界上最安全的設(shè)施之一,但也沒(méi)能阻止美國(guó)人將病毒帶入該設(shè)施從而擾亂伊朗的核計(jì)劃。

如果你對(duì)這個(gè)話題以及類似這樣的故事感興趣,我建議你閱讀Gordon Corera的書(shū)Intercept: The Secret History of Computers and Spies(截?。河?jì)算機(jī)和間諜秘史)。這是一本很棒的書(shū),將為你介紹安全和黑客之類的話題。

良好的安全性需要構(gòu)建一個(gè)高于你所保護(hù)的資產(chǎn)價(jià)值的墻。也就是黑客攻擊你的系統(tǒng)的代價(jià)會(huì)比黑客竊取它之后的價(jià)值更高。這也意味著你的安全性應(yīng)該與你所保護(hù)的內(nèi)容相符。例如,不要在服務(wù)器上使用網(wǎng)閘(air gap)來(lái)保護(hù)從網(wǎng)絡(luò)注冊(cè)表中收集到的一些電子郵件地址,否則這將非常浪費(fèi)金錢。

3. 了解潛在的威脅

在建造你的防火墻時(shí),了解你所面臨的威脅是很重要的。安全威脅可以分解為四個(gè)基本分組:

? Kiddy Scripters(初級(jí)腳本)和自動(dòng)化威脅:參考大多數(shù)WordPress/Joomla hacks。

? 熟練的黑客和黑客組織:匿名,LulzSec

? 有組織犯罪和次要國(guó)家成員:黑手黨,北朝鮮

? 主要國(guó)家成員:美國(guó),中國(guó),俄羅斯,以色列,英國(guó)

大多數(shù)開(kāi)發(fā)人員很少會(huì)處理高于第一級(jí)的任何事情。其原因有兩方面,你必須做一些重要的有財(cái)務(wù)價(jià)值和/或具有顯著的政治價(jià)值的事情才能超越這一級(jí)。這方面的例子包括敏感的政府工作、公司的財(cái)務(wù)方面以及重要協(xié)作意向。

同樣威脅是多樣化的,并不一定與黑客攻擊數(shù)據(jù)有關(guān)。例如,你的組織可能相比于數(shù)據(jù)泄露更容易遭受DDOS攻擊。作為一名開(kāi)發(fā)人員,重要的是要考慮你的組織可能會(huì)如何受到影響,而主要漏洞可能并不總是以財(cái)務(wù)或PII為重點(diǎn),這可能事關(guān)聲譽(yù)。通過(guò)讓你的網(wǎng)站離線以使你的組織遭遇尷尬,這可能會(huì)比竊取你的服務(wù)器上的PII更具價(jià)值。

2014年的Fappening事件是一個(gè)組織未能正確理解威脅的經(jīng)典例子。在這種情況下,Apple未能正確估算他們?cè)?a target="_blank">iCloud系統(tǒng)上的內(nèi)容,因此并沒(méi)有實(shí)施可能限制其損害的安全功能。例如,當(dāng)新設(shè)備或奇怪IP連接到帳戶時(shí)發(fā)送電子郵件。Fappening是一個(gè)邊緣案例,因?yàn)橹皼](méi)有人真正考慮過(guò)名人數(shù)據(jù)的價(jià)值,但它確實(shí)強(qiáng)調(diào)了組織在面臨的威脅時(shí)可能并不總是理智的。

4. 實(shí)現(xiàn)一個(gè)適當(dāng)?shù)慕鉀Q方案

如果你在沒(méi)有正確考慮你所面臨的威脅的情況下實(shí)現(xiàn)通用安全解決方案,則你可能和不使用任何安全措施一樣安全不了多少。

作為開(kāi)發(fā)人員,在實(shí)現(xiàn)任何安全解決方案之前,你必須認(rèn)真考慮你所面臨的威脅。這樣可以實(shí)現(xiàn)一個(gè)相應(yīng)的安全措施。適當(dāng)性并不僅僅是與安全威脅有關(guān),它還涉及到你需要花多少錢。一個(gè)貧窮的國(guó)家不能建造中國(guó)長(zhǎng)城,但如果它理解了這個(gè)威脅并合理地部署它的資源,它就能夠防御之。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 軟件開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    597

    瀏覽量

    27318
  • 信息安全
    +關(guān)注

    關(guān)注

    5

    文章

    647

    瀏覽量

    38865

原文標(biāo)題:軟件開(kāi)發(fā)人員應(yīng)遵循的四項(xiàng)安全原則

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TPA311D1的四項(xiàng)增益可選是什么意思呢?

    請(qǐng)問(wèn)調(diào)節(jié)電位器是在調(diào)節(jié)功放的放大倍數(shù)么? TPA311D1的四項(xiàng)增益可選是什么意思呢?這四項(xiàng)增益是階躍式還是連續(xù)的?
    發(fā)表于 11-04 06:46

    維信諾四項(xiàng)屏幕集成創(chuàng)新技術(shù)

    屏幕作為信息交互的窗口,正沿著多種功能集成一體化方向演進(jìn),帶來(lái)更多維、更便捷的交互體驗(yàn)。本屆展會(huì),維信諾帶來(lái)四項(xiàng)屏幕集成創(chuàng)新技術(shù),不僅拓寬了屏幕技術(shù)的邊界,也為用戶帶來(lái)了+1+1+1+1的交互升級(jí)。
    的頭像 發(fā)表于 09-20 10:07 ?454次閱讀

    Vector DaVinci Team解決方案實(shí)現(xiàn)AUTOSAR Classic ECU軟件開(kāi)發(fā)

    單元(HPC)和區(qū)域控制單元(Zonal ECU)分工協(xié)作的架構(gòu)。因此,ECU的軟件功能越來(lái)越多,越來(lái)越復(fù)雜。ECU的軟件開(kāi)發(fā),也將引入不同部門、不同公司的更多項(xiàng)目開(kāi)發(fā)人員的協(xié)作。在ECU軟件
    的頭像 發(fā)表于 09-13 11:23 ?688次閱讀
    Vector DaVinci Team解決方案實(shí)現(xiàn)AUTOSAR Classic ECU<b class='flag-5'>軟件開(kāi)發(fā)</b>

    C2000 ePWM開(kāi)發(fā)人員指南

    電子發(fā)燒友網(wǎng)站提供《C2000 ePWM開(kāi)發(fā)人員指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 09:45 ?0次下載
    C2000 ePWM<b class='flag-5'>開(kāi)發(fā)人員</b>指南

    使用MATLAB、Simulink和Polyspace加速軟件定義汽車開(kāi)發(fā)

    開(kāi)發(fā)軟件定義汽車 (SDV) 時(shí),開(kāi)發(fā)團(tuán)隊(duì)必須具備新的能力,例如進(jìn)行連續(xù)的軟件發(fā)布,減少軟件更改的交付周期以及盡可能減少部署失敗。同時(shí),平臺(tái)團(tuán)隊(duì)需要為車載計(jì)算機(jī)和區(qū)域控制器創(chuàng)建新
    的頭像 發(fā)表于 09-05 09:57 ?319次閱讀
    使用MATLAB、Simulink和Polyspace加速<b class='flag-5'>軟件</b>定義汽車<b class='flag-5'>開(kāi)發(fā)</b>

    2024 ACT汽車軟件安全技術(shù)周 龍智即將攜全方位汽車軟件開(kāi)發(fā)解決方案亮相,助力應(yīng)對(duì)汽車軟件開(kāi)發(fā)功能安全

    2024年7月18-19日(周-周五),2024第三屆ACT汽車軟件安全技術(shù)周將在上海佘山翰悅閣酒店舉辦。 龍智即將攜汽車開(kāi)發(fā)及管理解決方案創(chuàng)新亮相,并在汽車
    的頭像 發(fā)表于 07-08 16:17 ?491次閱讀
    2024 ACT汽車<b class='flag-5'>軟件</b>與<b class='flag-5'>安全</b>技術(shù)周 龍智即將攜全方位汽車<b class='flag-5'>軟件開(kāi)發(fā)</b>解決方案亮相,助力應(yīng)對(duì)汽車<b class='flag-5'>軟件開(kāi)發(fā)</b>功能<b class='flag-5'>安全</b>

    軟件開(kāi)發(fā)珠璣》+60條戒律

    包含需求、設(shè)計(jì)、項(xiàng)目管理、文化和團(tuán)隊(duì)合作、質(zhì)量、過(guò)程改進(jìn)6個(gè)方面的內(nèi)容,提供了豐富、實(shí)用的工具和方法。當(dāng)開(kāi)發(fā)人員更好的理解了需求時(shí),便能夠從用戶的角度觸發(fā)思考更優(yōu)秀的解決方案。從這點(diǎn)來(lái)看,每個(gè)軟件開(kāi)發(fā)人員或團(tuán)隊(duì)應(yīng)人手一份這本書(shū),
    發(fā)表于 06-24 19:27

    淺談存內(nèi)計(jì)算生態(tài)環(huán)境搭建以及軟件開(kāi)發(fā)

    ,這也為軟件開(kāi)發(fā)人員帶來(lái)了新的挑戰(zhàn),例如需要深入了解存內(nèi)計(jì)算的工作原理,以及如何優(yōu)化代碼以充分利用其性能優(yōu)勢(shì)。同時(shí),開(kāi)發(fā)人員還需考慮如何在保持軟件靈活性的同時(shí),提高與存內(nèi)計(jì)算硬件的兼容性。 為了更好地適應(yīng)
    發(fā)表于 05-16 16:40

    三星停止自動(dòng)駕駛研究,開(kāi)發(fā)人員轉(zhuǎn)到機(jī)器人領(lǐng)域

    近日,三星電子宣布了一項(xiàng)重要的研發(fā)戰(zhàn)略調(diào)整。據(jù)業(yè)內(nèi)人士透露,三星先進(jìn)技術(shù)研究院(SAIT)已決定停止自動(dòng)駕駛汽車的研究,并將這一領(lǐng)域的開(kāi)發(fā)人員轉(zhuǎn)移到機(jī)器人領(lǐng)域。
    的頭像 發(fā)表于 05-13 09:21 ?411次閱讀

    嵌入軟件單元測(cè)試工具的作用

    嵌入軟件單元測(cè)試工具是現(xiàn)代軟件開(kāi)發(fā)過(guò)程中不可或缺的一環(huán)。它的作用在于幫助開(kāi)發(fā)人員對(duì)軟件中的各個(gè)單元進(jìn)行測(cè)試,以確保其功能的正確性和穩(wěn)定性。單元測(cè)試是
    的頭像 發(fā)表于 04-23 15:31 ?393次閱讀
    嵌入<b class='flag-5'>軟件</b>單元測(cè)試工具的作用

    GTI頒獎(jiǎng)典禮落幕,華為無(wú)線再度斬獲四項(xiàng)大獎(jiǎng)

    在剛剛落幕的GTI Awards 2024頒獎(jiǎng)典禮上,華為無(wú)線再度斬獲四項(xiàng)大獎(jiǎng)。
    的頭像 發(fā)表于 03-01 09:38 ?372次閱讀

    嵌入式軟件開(kāi)發(fā)應(yīng)該掌握哪些知識(shí)?

    的控制,如GPIO、串口、SPI、I2C 等。這使得嵌入式軟件開(kāi)發(fā)人員能夠充分利用硬件資源,滿足特定的需求。 1.2數(shù)據(jù)結(jié)構(gòu)與算法 嵌入式系統(tǒng)通常具有有限的內(nèi)存資源。通過(guò)使用合適的數(shù)據(jù)結(jié)構(gòu)和算法,可以
    發(fā)表于 02-19 11:23

    嵌入式軟件開(kāi)發(fā)軟件開(kāi)發(fā)的區(qū)別

    嵌入式軟件開(kāi)發(fā)軟件開(kāi)發(fā)是兩個(gè)不同的概念,它們?cè)谝恍╆P(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開(kāi)發(fā)是指開(kāi)發(fā)嵌入在硬件設(shè)備中的軟件,而
    的頭像 發(fā)表于 01-22 15:27 ?2130次閱讀

    最新發(fā)布GSDK軟件開(kāi)發(fā)工具包4.4.0版本,提高IoT無(wú)線設(shè)計(jì)效率

    SiliconLabs (亦稱 “ 芯科科技 ” )日前發(fā)布了 Gecko 軟件開(kāi)發(fā)工具包( GSDK )的最新版本 4.4.0 。新釋出的 GSDK 是全球物聯(lián)網(wǎng)開(kāi)發(fā)人員最關(guān)注物聯(lián)網(wǎng)的軟件開(kāi)發(fā)平臺(tái)
    的頭像 發(fā)表于 12-18 16:40 ?550次閱讀
    最新發(fā)布GSDK<b class='flag-5'>軟件開(kāi)發(fā)</b>工具包4.4.0版本,提高IoT無(wú)線設(shè)計(jì)效率

    CodeBlocks屬于什么軟件

    開(kāi)發(fā)人員在一個(gè)集成的環(huán)境中進(jìn)行軟件開(kāi)發(fā)。 CodeBlocks是一個(gè)開(kāi)源的自由軟件,意味著它是免費(fèi)提供給用戶使用的。它最初是由一群熱衷于C++編程的開(kāi)發(fā)人員共同
    的頭像 發(fā)表于 11-26 09:53 ?3812次閱讀