在谈隐私分析之前,我们还是从汽车信息安全的产品需求定义入手,对研发人员来说,从定义产品的安全需求开始就启动了漫漫的汽车信息安全之旅,不管对于技术研发,还是流程建设,威胁分析和风险评估(以下简称“TARA”)都是绕不开的话题,如何有效的执行呢?只能说仁者见仁,智者见智,尽管TARA方法本身并没有太多争议,但输出结果还是需要依靠主观经验,这也暗合了网络安全的艺术。因为你不知道黑客会如何攻击你,只能通过经验积累来摸清攻击的基本套路,对风险进行评估。
尽管TARA的结果取决于主观经验,但基本的方法逻辑依然是靠谱的,尤其是随着ISO/SAE 21434的正式发布,第十五章详细的介绍了TARA的方法论,也就结束了业内对方法本身的讨论,这也是个经验标准化的过程,尽管21434提到的方法细节方面有诸多需要自己确定的地方,至少从标准方面已经做到最优解了,导致很多自研的TARA方法需要重新修改调整,以应对未来的合规要求。
威胁分析与风险评估作为方法论本身,并没有对分析对象进行规定,更多是强调内生逻辑,对于汽车信息安全从业人员来说,提到TARA,第一反应想到的肯定手头正在做的安全分析,威胁模型采用的是CIA或者STRIDE模型,甚至是攻击树模型,那安全分析是否同样适用于隐私分析呢?这也就是我们今天要介绍讨论的话题。
安全与隐私其实是有区别的,安全强调的是产品本身的健壮性和防护能力,而隐私更多的是从用户的权益保护角度出发,由于隐私涉及到人本身的权益,所以分开并自有了分析逻辑,这对于汽车行业相对比较陌生,在互联网行业深受GDPR的影响,近年来罚款收益也颇丰,也就是说传统行业的隐私分析方法已经成熟并值得汽车行业参考的。
那分析方法有什么区别呢?还是得从威胁模型入手,攻击千千万万,其实我们无法穷尽所有的攻击和威胁,也就是说没有绝对的安全。为了方便分析,我们需要对安全威胁进行分类,比如传统的CIA模型,STRIDE模型,每类威胁也对应一种安全属性。
当然从工作量的角度来说STRIDE看起来要比CIA多一倍,模型之间的区别其实不在于工作量,更重要的是每条分析能精准到位,确实有类似的攻击事件和安全威胁存在,而以量评估TARA的质难免偏颇。那接下来我们先介绍下微软最先提出的STRIDE模型。
Security property |
Security threat |
Authentication |
Spoofing |
Integrity |
Tampering |
Non-repudiation |
Repudiation |
Confidentiality |
Information Disclosure |
Availability |
Denial of Service |
Authorization |
Elevation of Privilege |
在 CSDN博客https://blog.csdn.net/jackyrongvip/article/details/89736633搜索出如下内容,简单整理,供大家参考:
Security threat |
Definition |
|
身份假冒,即伪装成某对象或某人。例如,我们通过伪造别人的 ID 进行操作。 |
篡改(Tampering)
|
篡改,即未经授权修改数据或者代码。例如,我通过网络抓包或者某种途径修改某个请求包,而服务端没有进行进一步的防范措施,使得我篡改的请求包提交成功。 |
抵赖(Repudiation)
|
抵赖,即拒绝执行他人无法证实也无法反对的行为而产生抵赖。例如,我攻击了某个产品,他们并不知道是我做的,没有证据证明是我做的,我就可以进行抵赖,换句话说,我可以死不承认。 |
信息泄露(Information Disclosure)
|
信息泄露,即将信息暴露给未授权用户。例如,我通过某种途径获取未经加密的敏感信息,例如用户密码。 |
拒绝服务(Denial of Service)
|
拒绝服务,即拒绝或降低有效用户的服务级别。例如,我通过拒绝服务攻击,使得其他正常用户无法使用产品的相关服务功能。 |
特权提升(Elevation of Privilege)
|
特权提升,即通过非授权方式获得更高权限。例如,我试图用管理员的权限进行业务操作。 |
首先是建立数据流图DFD,然后基于LINDDUN的威胁建模映射到每条数据流中逐一分析,在TARA里面,我们首先是定义资产,然后按照安全属性,或者威胁模型STRIDE开始逐条分析,现在隐私分析也类似,只是威胁模型发生了变化,采用LINDDUN模型,那么什么是LINDDUN模型呢?
Security property |
Security threat |
||
HARD |
Unlinkability |
Linkability |
可链接性 |
Anonymity & pseudonymity |
Identifiability |
可识别性 |
|
Plausible deniability |
Non-repudiation |
不可否认性 |
|
Undetectability & Unobservability |
Detectability |
可探测性 |
|
Confidentiality |
Information Disclosure |
信息泄露 |
|
SOFT |
Content awareness |
Content Unawareness |
内容无意识 |
Policy and consent compliance |
policy/consent Noncompliance |
政策或同意后不遵守 |
尽管我们已经将流程和威胁模型罗列出来,为了方便大家理由,还是有必要澄清下基本概念。从表里也可以看出,隐私也分为硬隐私和软隐私,如何区分?
硬隐私的数据保护目标是数据最小化,假设个人数据不会泄露给第三方,作为数据主体提供尽可能少的信息,并尽力减少对其他实体的信任,而软隐私呢?恰恰相反,基于数据主体已经失去了对数据的控制,不得不相信数据控制者的诚实和能力,软隐私的数据保护目标是提供数据安全,并在特定的目的和同意下处理数据,通过政策,访问控制和审计等手段。简单来说硬隐私就是数据不要给别人,软隐私就是数据给出去了,如何防止数据被非法利用。
聊完分类,我们再看看LINDDUN模型具体的定义。
1.可链接性两个或更多利益相关项(IOI,如主题、信息、行动等)的可链接性允许攻击者充分区分这些相关项在系统中是否有关联。在系统内是否有关联。
2.可识别性是指攻击者可以充分识别与利益相关的主体,例如,信息的发送者。通常,可识别性指的是一组潜在的主体,称为可识别性[10]。实质上,当涉及到一个主体及其属性时,可识别性是可链接性的一个特例。可识别性对匿名性和假名性都是一种威胁。
3.抗抵赖性,与安全性相反,这是对隐私的一种威胁。抗抵赖性允许攻击者收集证据来反驳否认方的主张,并证明用户知道、做过或说过什么。
4.可探测性,一个相关项的可探测性意味着攻击者可以充分区分这样一个项目是否存在。如果我们把信息视为利益相关项,这意味着信息是可以从随机噪音中充分辨别出来的。
5.信息泄露的威胁将个人信息暴露给不应该接触到的人。
6.内容无意识表示用户对披露给系统的信息没有意识到。用户要么提供了太多的信息,使攻击者能够轻易地检索到用户的身份,要么提供了不准确的信息,导致错误的决定或行动。
7.政策和同意后的不遵守是指,即使尽管该系统向其用户显示其隐私政策。也不能保证该系统实际上遵守了广告中的政策。因此,用户的个人 数据仍然可能被泄露。
聊完LINDDUN的基本概念和定义之后,再结合TARA的STRIDE模型,基本也就知道了隐私分析的套路,那为什么要选LINDDUN模型作为隐私分析对象呢?从LINDDUN的官网上,我们也查到了三条官方的理由:
参考链接:
1. https://www.researchgate.net/publication/220428156_A_privacy_threat_analysis_framework_Supporting_the_elicitation_and_fulfillment_of_privacy_requirements。
2. https://www.linddun.org/
3. 威胁建模:12种方法 (uml.org.cn)
END
原文始发于微信公众号(汽车信息安全):谈谈隐私分析LINDDUN威胁模型(一)