安全攻防技能30讲
何为舟
前微博安全研发负责人
立即订阅
2872 人已学习
课程目录
已更新 9 讲 / 共 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 别说你没被安全困扰过
免费
安全基础概念 (5讲)
01 | 安全的本质:数据被窃取后,你能意识到问题来源吗?
02 | 安全原则:我们应该如何上手解决安全问题?
03 | 密码学基础:如何让你的密码变得“不可见”?
04 | 身份认证:除了账号密码,我们还能怎么做身份认证?
05 | 访问控制:如何选取一个合适的数据保护方案?
Web安全 (3讲)
06 | XSS:当你“被发送”了一条微博时,到底发生了什么?
07 | SQL注入:明明设置了强密码,为什么还会被别人登录?
08 | CSRF/SSRF:为什么避免了XSS,还是“被发送”了一条微博?
安全攻防技能30讲
登录|注册

01 | 安全的本质:数据被窃取后,你能意识到问题来源吗?

何为舟 2019-12-09
你好,我是何为舟。
今天是我们安全课程的第一讲,我们不会讲具体的细节内容。我打算先和你聊聊安全本身,以帮你建立整体的大局观。我确信,只要理解了安全的本质,在后续的课程中,你就更容易理解安全的概念和知识,也就能够建立解决安全问题的思维体系。

安全是什么?

首先,我们来看,安全是什么?
当你所在的企业内网被入侵,数据被窃取之后,你也许能知道,是某个业务漏洞导致黑客能够进入内网,但你是否意识到,数据安全保护机制上同样产生了问题?类似这种的问题有很多。当我们遇到某一个特定的攻击或者安全问题时,往往看到的都是表象的影响,而能否找到根本原因并进行修复,才是安全投入的关键。
任何应用最本质的东西其实都是数据。用户使用产品的过程,就是在和企业进行数据交换的过程。比如,用户在使用微博时,或是将数据写入到微博(发博、评论、点赞等)中,或是从微博中获取数据(刷 feed、热门流);用户在使用支付宝进行交易时,则是将资产以数据的形式进行转移。
因此,从另一个层面来说,安全的本质就是保护数据被合法地使用。怎么才叫“被合法地使用”呢?我们可以从机密性、完整性、可用性这 3 个方面具体来看。这也是在安全领域内最为基础的 3 个安全原则。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《安全攻防技能30讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(25)

  • Geek_98dc22
    看着老师开篇的内容,从安全方案的视角讲解CIA ,根据系统运行阶段划分,体现安全的实际应用,识别与认证,授权以及审计和问责。
    以一个面对工业用户的产品为例,谈谈自己的安全理解。
    1,识别与认证是非常重要的环节,因为一旦身份识破,对工业的损害会非常深远,因此是一个安全占比稍多的环节;多重识别手段+专用的认证工具。
    2,通过不同用户获得不同授权,他们可见的内容和可操作的事项必须与授权一一对应。
    3,审计和问责:这也是很重要的环节,确保任何用户角色不可以修改和删除审计内容,且保证审计内容不可丢失。
    这里有个问题,如果黑客入侵产品成功,它是否有办法删除审计信息呢,导致无法追溯?

    作者回复: 有的,资深的黑客也一定会这么干。所以,日志一般会在不同的地方进行存储,就是为了增加黑客的难度,比如攻破了服务器A,但可能没办法删除服务器B上的日志。

    2019-12-14
    3
  • 攻城狮Ra
    公司是做ERP二次开发的,以可用性为主,在确保软件正常业务的基础上进行完整性和机密性的考量;理解:安全指得是自身合法利益的保障,自身相关的数据理应属于合法权益的一种,行使自身权益为可用性,争取自身权益为完整性,保障自身权益为机密性

    作者回复: 没太理解你描述的自身权益指的是什么?

    2019-12-10
    1
    2
  • 张诚
    CIA,保密性,完整性,可用性。
    主要做的是项目的支付模块,相应的支付借口的调用,敏感参数都进行了RSA非对称加密处理,并对总的做了签名校验。
    对于订单支付操作做了完整的日志记录,以确保数据的完整性。
    对于可用性只是采用项目的分布式部署以保证高可用。
    也许我的理解也只是比较低级的。

    作者回复: 挺好的,至少在各个方面都有考虑到,基础的安全能力都是有了的。后续无非考虑更深入的东西,比如rsa保证了接口调用的数据机密性,数据在服务器上是否有保护?日志的记录,有没有被篡改的可能?

    2019-12-10
    2
  • 张诚
    课程小记:
    安全的基本原则:机密性,完整性,可用性。简称CIA。
    机密性强调的是不可见性,数据只能被授权的主体访问。
    完整性强调的是不可改,数据只能最追加操作,对数据的修改过程进行日志记录。
    可用性强调的是可读,数据的可达性。
    2019-12-10
    1
  • 小晏子
    从初创小型互联网电商的角度回答课后问题,考虑到CIA三要素,首先是A,如果可用性都不能保证,那么其他都毫无意义,其次是C,保护用户数据,订单数据是客户信任公司的关键,最后是I,之所以放在最后,是因为可能由于bug的存在导致用户操作权限混乱,但是这个至少不会导致公司垮掉,可以事后修补,所以放在最后。

    作者回复: 涉及金钱的对完整性还是有一定诉求的。比如用户的交易记录如果出现错误或者丢失了,可能最后对账都对不上,财务都过不去。不过在投入可以取舍,比如简单的多存几份日志,也能够提升完整性的保障。

    2019-12-09
    1
  • 鸵鸟
    嵌入式系统中bootloader开发主要会考虑机密性,对核心固件进行加密,同时将解密秘钥存储在安全存储中;完整性,对升级包镜像内容做SHA256,加载前做hash检验;同时还有最重要的一点——合法性,对镜像进行公私钥签名保证镜像来自合法的厂商。

    作者回复: 各领域都会有自己的特殊性,可以使用习惯的术语,但大体是相通的。即,你说的合法性,和完整性,其实做法和目的都是一致的。

    2019-12-09
    1
  • 小老鼠
    不知道老师听说过"传位十四太子"被雍正改为"传位于四太子"的故事吗?好些书中说可用数字签名方式来解决,请问如何解决?另外对于DDOS攻击有什么好的防御手段?

    作者回复: 比如,后面加一个信息,六个字一共多少笔画。然后校验的时候看笔画数是不是一致的。。。。据我所知,DDOS目前没有特别好的解决方案,基本都是靠堆高带宽来消除攻击者的动力。

    2019-12-25
  • Geek_cc6b96
    早期是可用性最高、保密性次之、完整性最后;
    有点用户量了,保密性最高、完整性次之、可用性最后;
    中等用户量,可用性最高、完整性次之、保密性次之
    大量用户, 公司还没这个机会.......
    不同时间都伴随着不同安全考虑
    2019-12-24
  • 飞翔
    上面的完整性不好理解
    我描述了自己的定义,但与上面不一样,老师看看是否能行?
    安全的本质是保护数据:
    1 可用性 : 我自己能随时使用我的数据
    2 机密性: 我自己的数据只有我自己能访问和修改
    3 完整性: 我的数据要稳定的存在,不要发生错误和丢失

    作者回复: 不发生错误和丢失,是完整性的一部分。完整性另外需要考虑的是,数据被恶意的篡改了。

    2019-12-20
  • Geek_70f787
    公司主要是做装修方便的,以可用性为主。其次是机密性,平台主要有多方用户——商家,厂家,装修用户。要确保各方用户不能看到别人的信息,特别是商家订单、装修用户。完整性的话,因为主要装修的话,是线下交易,所以在这方面会差一些
    2019-12-18
  • 一命赌快乐
    老师,这个面试题的讨论挺好的,希望多来一些。
    2019-12-17
  • 一命赌快乐
    安全就是保护对公司有价值数据的机密性,完整性,可用性。
    2019-12-17
  • 二马
    机密性、完整性和可用性就像项目管理中的时间、范围和成本,三者在不同的场景中优先级是不一样的。安全防护的目标是进不来,看不见,改不了,拿不走,可追溯。
    安全服务的对象是资产,数据是最核心的资产。不同的数据安全防护的侧重点不同,用户密码得看不见(加密存储),改不了(改动需要验证),拿不走(防止拖库);用户资金余额侧重点则是改不了。
    作为金融机构,客户资金安全是红线,即保证数据完整性,但可用性也是重点。因为当业务不可用时,会带来法律问题,如合同约定某个时间点需要完成资金转账,否则就会违约;也可能引发社会问题,如被传言倒闭引发挤兑。
    在云时代,安全即服务的理念被广泛宣传。安全如何即服务,大的层面是安全能力作为服务按需使用,细的纬度是不只是传统安全设备作为能力提供服务,而是安全能力更原子化,需求方可以根据自身特点自由组合安全能力,类似中台概念,构建安全中台,安全能力是一个个组件。这样避免一刀切的安全防护,对某些对象可能过严导致体验不好而遭到抵制,而对于某些对象可能是防护不够的现象。中台各组件的能力是更细粒度的,可自由组合的原子。
    2019-12-15
  • 旺旺
    DDos攻击保护的什么数据呢?这应该是对系统的整体可用性产生了影响。

    作者回复: 没错,DDoS主要破坏的是可用性。

    2019-12-14
  • 进财
    当前情况下,我们是优先考虑可用性,但cia的三元组都比较重要,都应该考虑,但在具体资源投入,每一组要素投入的比重上怎么权衡,有没有什么标准去衡量。

    作者回复: 通过产出价值去衡量。评估一下,比如数据可用性受到影响,比如,数据不可用一小时,能产生多大损失。其他也一样,比如数据有10%被篡改了,会有什么损失。而这些损失,其实就是安全带来的价值。

    2019-12-13
  • Geek_114b64
    我们是做在线教育的,用户是上帝,我们做产品最终目的是要为用户服务,这样我们的产品才能有价值,所以可用我感觉是任何一个公司做研发首要考虑的,只有公司发展到一定阶段而且是发展的比较好,公司才会去或者说才有能力去考虑完整、机密两者,从我们公司来讲,线上直播教育课更倾向于可用,机密次之,完整性则最后考虑

    作者回复: 可以适当倾斜,但不要低估机密性和完整性带来的影响。比如用户在平台上填写的个人信息被泄漏,或者教育资源的内容被篡改,变成某些反动言论。这些安全事件的产生,是可以直接干跨一个公司的。

    2019-12-11
  • 巨子联盟
    那么问题来了?数据泄露后,CIA怎么定位问题的来源呢?

    作者回复: CIA不定位问题的来源,CIA只是告诉你要从哪些方面去考虑数据的安全性。比如数据泄漏了,说明机密性出了问题。至于具体是啥问题,可以根据后续的课程内容去具体分析。

    2019-12-11
  • 丽莎
    作为一个出售动态防御的WAF公司,虽然不是传统业务,但是也可以使用CIA三元素进行分析。

    对于我们最重要的也是可用性,由于我们的动态技术会对客户的HTML与HTTP通信进行修改,那么使得原有业务能在还原后被执行成为了第一重要性,我们通过一些自研的令牌机制来保护前端,最终目的仍然是使得使得拥有访问数据的主体能够及时地被授权,不能因为我们的安全加固使得用户丢失了数据的访问能力。由于我们还原出完整的数据,所以在这个意义上,完整性和可读性对于我们的目标是一致的。

    第二:机密性是我们提供给客户的附加值,也是我们产品的核心技术,我们保护了客户的前端代码与网络通信,使得人不可读。保护了用户的前端数据资产,与后端访问权限。第二层面讲,由于前端是开源的,所以我们产品自身的不可破解,也是机密性这里讨论的范畴。如果我们自身的源代码被破解,那么我们提供给客户的机密性也不复存在。

    虽然我们不是传统业务,但是我也尝试用了CIA模型分析,请老师指正。

    作者回复: 你好,感谢你的留言。总体分析的还是比较全面的。做防御产品的,可以从两个角度去分析CIA。一方面防御产品为客户的数据提供了哪些CIA保护,另一方面,防御产品本身自己又做了哪些CIA保护。WAF中的核心数据,我觉得有两种,一种是WAF自身的代码和策略,另一种是流经WAF的客户数据。如果后一种数据的CIA被攻破,导致客户数据在WAF中泄漏或者篡改了,作为一个安全产品,就很尴尬了。

    2019-12-11
  • Value
    计算密集型的应用的本质就不是数据...任何应用改为"数据密集型应用"或许更为恰当?

    作者回复: 有一定道理。不过我理解所谓的计算密集型,其实就是处理某个数据的复杂任务,最终的输入和产出,其实还是某个数据吧。

    2019-12-10
  • 米小亮
    信息安全的本质:保护对组织机构有价值的信息资产的CIA三要素不被破坏。公司的核心价值是什么,针对核心价值,确定CIA的优先级。

    作者回复: 可以尝试基于自己公司情况,总结分析一下。

    2019-12-10
收起评论
25
返回
顶部