發(fā)布于:2021-01-27 14:55:11
0
470
0
在本文中,您將了解什么是應(yīng)用程序安全,與應(yīng)用程序安全相關(guān)的最常見威脅是什么,以及如何分析應(yīng)用程序的風(fēng)險(xiǎn)及其后果。
什么是應(yīng)用程序安全性,為什么很難定義?
您可能想知道應(yīng)用程序安全實(shí)際上意味著什么。每個(gè)人都認(rèn)為移動(dòng)/web應(yīng)用程序的安全性是必不可少的,在開發(fā)過程中您需要注意它—沒有人會(huì)不同意這種說法。
但應(yīng)用程序安全意味著什么?
事實(shí)證明,如果不確定我們想要保護(hù)自己的風(fēng)險(xiǎn)和威脅,就很難找到/想出一個(gè)有用的定義。
如果我們不定義風(fēng)險(xiǎn),就無法準(zhǔn)確定義應(yīng)用程序安全性。
安全基本上是防范威脅。我們以汽車為例。如果我們談?wù)撘惠v安全的車,那就意味著這輛車會(huì)在可能發(fā)生的事故中保護(hù)我們(在某種程度上)。就汽車安全而言,風(fēng)險(xiǎn)是交通事故。
因此,當(dāng)我們?cè)谲浖_發(fā)環(huán)境中談?wù)摪踩詴r(shí),我們需要定義我們想要保護(hù)自己的潛在威脅。這使我們能夠形成一個(gè)共同的觀點(diǎn),我們?cè)谡務(wù)撌裁础?/span>
應(yīng)用程序安全的定義
我們可以將應(yīng)用程序安全定義為查找和修復(fù)安全漏洞并確保針對(duì)可能的威脅提供充分保護(hù)的過程。
這個(gè)定義并沒有澄清問題,但我們可以從中推斷出一件重要的事情:應(yīng)用程序安全是一個(gè)過程,而不是一次性的操作。
為了達(dá)到所需的安全級(jí)別,我們必須準(zhǔn)備創(chuàng)建應(yīng)用程序安全過程,并確保在應(yīng)用程序的整個(gè)生命周期(設(shè)計(jì)、開發(fā)和維護(hù))中遵循該過程。
這個(gè)定義缺少什么?我們說過應(yīng)用程序安全性是一個(gè)過程,但我們還沒有真正確定它到底關(guān)注什么以及它提供了什么。
這里的關(guān)鍵問題是我們想要保護(hù)自己的威脅和風(fēng)險(xiǎn)。如果我們不確定或不知道風(fēng)險(xiǎn)是什么,我們將無法正確評(píng)估我們希望實(shí)現(xiàn)的安全級(jí)別。
安全是對(duì)潛在威脅和風(fēng)險(xiǎn)的反應(yīng)
在安全方面,最關(guān)鍵的是要意識(shí)到我們要消除或減輕潛在的威脅以及由此產(chǎn)生的風(fēng)險(xiǎn)。當(dāng)我們開始考慮安全性時(shí),我們不應(yīng)該立刻把注意力集中在那些能保證我們安全的方法和技術(shù)上。首先,我們應(yīng)該分析我們要防范的風(fēng)險(xiǎn)和威脅。如果我們沒有意識(shí)到風(fēng)險(xiǎn),我們就不能開始適當(dāng)?shù)卣{(diào)整技術(shù)和安全方法。
6種最常見的應(yīng)用程序安全威脅
與移動(dòng)和web應(yīng)用程序安全相關(guān)的最常見威脅是:
未經(jīng)授權(quán)提取信息–例如,在聊天應(yīng)用程序中獲取私人消息。
未經(jīng)授權(quán)使用應(yīng)用程序功能–例如,未經(jīng)授權(quán)的用戶訪問管理功能。
拒絕服務(wù)—一種旨在使系統(tǒng)過載從而用戶無法使用應(yīng)用程序的攻擊—定義:https://en.wikipedia.org/wiki/Denial-of-service_attack。
未經(jīng)授權(quán)的遠(yuǎn)程訪問控制(侵入服務(wù)器)–未經(jīng)授權(quán)的人員訪問應(yīng)用程序服務(wù)器。
數(shù)據(jù)泄漏–未經(jīng)授權(quán)的人員獲取機(jī)密數(shù)據(jù),通常通過未經(jīng)授權(quán)的遠(yuǎn)程訪問控制攻擊。
在用戶設(shè)備上安裝惡意軟件–導(dǎo)致應(yīng)用程序用戶下載惡意軟件。
此列表不完整。這些只是我們?cè)趙eb或移動(dòng)應(yīng)用程序中可能遇到的最常見威脅的幾個(gè)例子。
正如你所看到的,應(yīng)用程序擁有者面臨著不同層面的威脅。為了準(zhǔn)確地評(píng)估和設(shè)計(jì)安全解決方案,我們需要對(duì)我們的應(yīng)用程序進(jìn)行準(zhǔn)確的分析。
應(yīng)用程序類型和相關(guān)威脅
讓我們仔細(xì)看看在不同類型的應(yīng)用程序(按行業(yè)劃分)中等待我們的安全威脅。
電子商務(wù)/移動(dòng)商務(wù)應(yīng)用威脅
敏感數(shù)據(jù)泄漏
拒絕服務(wù)和財(cái)務(wù)損失
社交應(yīng)用威脅
個(gè)人數(shù)據(jù)泄露
身份盜竊
金融科技應(yīng)用威脅
勒索用戶資金
進(jìn)行未經(jīng)授權(quán)的交易
財(cái)務(wù)數(shù)據(jù)泄漏
不符合財(cái)務(wù)規(guī)定
MedTech&Healthcare應(yīng)用威脅
非常敏感和機(jī)密的醫(yī)療數(shù)據(jù)
不符合規(guī)定(如美國(guó)的HIPAA)
拒絕服務(wù)和中斷對(duì)醫(yī)療數(shù)據(jù)的訪問
需要個(gè)人數(shù)據(jù)的應(yīng)用程序的威脅
個(gè)人數(shù)據(jù)泄露
不符合規(guī)定,如GDPR
應(yīng)用程序原型的威脅
風(fēng)險(xiǎn)很小,安全性話題可能會(huì)被邊緣化
前端應(yīng)用程序威脅(無后端)
沒有信息交流
大多數(shù)安全風(fēng)險(xiǎn)不存在
請(qǐng)注意,許多因素都會(huì)影響到目前為止我們提到的風(fēng)險(xiǎn):
應(yīng)用目的
用戶存儲(chǔ)的數(shù)據(jù),
我們與他們共享的數(shù)據(jù),
以及我們通過該應(yīng)用程序提供的服務(wù)。
了解這些問題的答案可以提高整個(gè)團(tuán)隊(duì)對(duì)可能發(fā)生的風(fēng)險(xiǎn)的認(rèn)識(shí)??紤]到您的答案,開發(fā)團(tuán)隊(duì)和您可以更準(zhǔn)確地設(shè)計(jì)安全流程和解決方案。
安全漏洞示例
在應(yīng)用程序開發(fā)的歷史中,我們已經(jīng)看到許多網(wǎng)絡(luò)犯罪分子利用的安全漏洞示例。
Whatsapp –一個(gè)安全漏洞,使一家以色列公司可以在人權(quán)活動(dòng)家的設(shè)備上安裝間諜軟件(來源)。
以Armor為例-泄漏了1.5億個(gè)標(biāo)識(shí)數(shù)據(jù)(電子郵件,密碼),然后出現(xiàn)在黑市上(來源)。
這些示例表明,即使是擁有大量資源的大型公司也容易受到此類威脅的威脅,并且會(huì)遇到可能被利用的安全漏洞。
規(guī)模很重要。附加安全系數(shù)
上述例子也向我們展示了影響威脅規(guī)模的額外因素。不同的威脅等待著一個(gè)被一百萬用戶使用的應(yīng)用程序和一個(gè)規(guī)模較小的應(yīng)用程序。后果也不同,迅速?gòu)浹a(bǔ)安全漏洞的壓力也不同。它們之間的安全過程也有很大的不同。應(yīng)用程序的規(guī)模是在安全上下文中分析風(fēng)險(xiǎn)和威脅時(shí)應(yīng)考慮的另一個(gè)因素。
另一個(gè)重要因素是目標(biāo)受眾。安全性方面的一個(gè)重要方面是我們?nèi)绾潍@取用戶—應(yīng)用程序是公開的還是針對(duì)有限數(shù)量的用戶(例如,一家公司的員工)。例如,如果我們創(chuàng)建一個(gè)內(nèi)部應(yīng)用程序,我們就可以更好地控制誰將使用它以及在什么情況下使用它。然后我們可以介紹其他安全解決方案和流程。
在開始開發(fā)應(yīng)用程序之前要做些什么來保護(hù)應(yīng)用程序的安全性?
在開發(fā)開始提高應(yīng)用程序的安全性之前,您可以做以下幾件事:
準(zhǔn)確定義應(yīng)用程序?qū)⒃谄渲羞\(yùn)行的行業(yè),
找出給定行業(yè)中是否有必須滿足的法規(guī)(例如HIPAA、GDPR、PSD2),
定義應(yīng)用程序的主要用戶(誰將使用應(yīng)用程序),
確定應(yīng)用程序中可用的數(shù)據(jù)(個(gè)人數(shù)據(jù)、醫(yī)療數(shù)據(jù)、消息、付款等),
根據(jù)前面問題的答案,對(duì)安全漏洞可能造成的威脅和后果進(jìn)行簡(jiǎn)短分析。
以上是啟動(dòng)應(yīng)用程序安全過程的良好開端。
如何以及何時(shí)對(duì)威脅、風(fēng)險(xiǎn)和可能的后果進(jìn)行分析?
我們應(yīng)該在應(yīng)用程序開發(fā)過程的一開始就提出安全性問題。開發(fā)團(tuán)隊(duì)中的每個(gè)人、涉眾、創(chuàng)始人或所有者都應(yīng)該意識(shí)到這些風(fēng)險(xiǎn)。
安全的關(guān)鍵是對(duì)威脅、風(fēng)險(xiǎn)和可能的后果進(jìn)行單獨(dú)分析。我們應(yīng)該在收集需求的階段進(jìn)行。
安全級(jí)別應(yīng)與執(zhí)行的分析相適應(yīng)。
分析并不總是需要一個(gè)生成大量文檔的漫長(zhǎng)過程。相反,最好從簡(jiǎn)單的事情開始。
1.調(diào)查風(fēng)險(xiǎn)
在分析風(fēng)險(xiǎn)時(shí),考慮過失的可能后果是明智的。當(dāng)然,每個(gè)應(yīng)用程序的含義將有所不同。但是,回答以下問題,您將有一個(gè)主意:
如果用戶數(shù)據(jù)泄露了怎么辦?
我們存儲(chǔ)什么數(shù)據(jù)?
當(dāng)應(yīng)用程序停止工作時(shí)會(huì)發(fā)生什么?(拒絕服務(wù)攻擊)
如果應(yīng)用程序數(shù)據(jù)泄漏,該怎么辦?
我們是否存儲(chǔ)付款數(shù)據(jù)?
當(dāng)攻擊者未經(jīng)授權(quán)訪問應(yīng)用程序的某些功能時(shí),會(huì)發(fā)生什么?
應(yīng)用程序行業(yè)是否強(qiáng)制其遵守任何法規(guī)(HIPAA,GDPR)?
了解這些問題的答案可以提高整個(gè)團(tuán)隊(duì)對(duì)可能發(fā)生的風(fēng)險(xiǎn)的意識(shí)??紤]到您的答案,開發(fā)團(tuán)隊(duì)和您可以更準(zhǔn)確地設(shè)計(jì)安全流程和解決方案。
2.定義存儲(chǔ)在應(yīng)用程序中的數(shù)據(jù)和交換的數(shù)據(jù)(在用戶之間,以及用戶與系統(tǒng)之間)。
3.對(duì)于應(yīng)用程序的每個(gè)主要功能,請(qǐng)回答以下問題
如果某個(gè)功能停止工作一段時(shí)間會(huì)怎樣?
給定功能不能使用多長(zhǎng)時(shí)間?
在應(yīng)用開發(fā)過程中如何照顧安全性?
您還應(yīng)該在應(yīng)用程序開發(fā)過程中注意安全性做法。關(guān)于誰將有權(quán)訪問通信渠道,開發(fā)工具,應(yīng)用程序服務(wù)器和各種第三方,有意識(shí)地做出決定是值得的。
以下幾個(gè)問題將有助于驗(yàn)證我們?cè)陂_發(fā)過程中是否關(guān)心正確的安全級(jí)別:
是否應(yīng)用了最小特權(quán)原則?
我們是否避免在電子郵件,私人消息中交換密碼?
我們是否在網(wǎng)站上要求適當(dāng)?shù)陌踩?guī)則(2FA,強(qiáng)密碼等)?
我們是否使用安全可靠的工具?
應(yīng)用程序安全–總結(jié)和要點(diǎn)
我希望在讀完這篇文章之后,應(yīng)用程序安全的話題對(duì)你來說更加清晰。以下是關(guān)鍵要點(diǎn):
確保應(yīng)用程序安全是一個(gè)過程,而不是一次性操作。
您應(yīng)該從應(yīng)用程序的一開始就考慮安全性。
要有效地確保安全性,您需要了解安全風(fēng)險(xiǎn)。
分析特定應(yīng)用程序的應(yīng)用程序和威脅非常重要。
分析威脅的風(fēng)險(xiǎn)、威脅和可能后果(損害控制)是關(guān)鍵。
在我們的移動(dòng)和web應(yīng)用程序安全系列的下一篇文章中,您將了解有助于確保應(yīng)用程序安全的最佳實(shí)踐和工具,并了解如何測(cè)試應(yīng)用程序是否安全。
作者介紹
熱門博客推薦