淘客熙熙

主题:【原创】IT八股:闲聊信息安全 (之一.基本概念) -- 昔杨今雨

共:💬106 🌺268 新:
分页树展主题 · 全看
/ 8
下页 末页
  • 家园 【原创】IT八股:闲聊信息安全 (之一.基本概念)

    信息安全听起来是个挺刺激的话题, 看到这几个字, 首先容易想起黑客啥的, 似乎和这东西沾上边, 颇有点让人肃然起敬, 咬牙切齿, 高山滚鼓, 门户大开的感觉. 其实这都是被那帮无知或无良或无知兼无良的媒体给害的. 兄弟混迹其中, 已经9年有余, 写下一些体会, 只是打算和大家分享分享, 信息安全涵盖的面非常广泛, 我也不过从事里面的一小部分, 如有不到之处, 欢迎方家指正.

    咱们首先从基本概念开始.

    信息安全里面最有名, 也是最有效的一个模型, 叫做PDR模型: (P)rotection, (D)etection, (R)eaction. 所谓的Protection, 指的是防护, 例如保险柜就是一个典型的防护措施; 而Detection, 指的是监测, 例如巡逻队, 摄像头等等, 都可以归入到Detection一类; 第三个R, 指的是对监测到的攻击行为做出的反应, 警察叔叔就可以归入这个类里面去. PDR模型有一个公式:

    P(t) >/</= D(t) + R(t)

    注意这个公式, 左边的P(t)表示的是Protection所能提供的最大保护时间, D(t)表示检测到攻击行为所需要的最大时间, R(t)表示在接到警报后, 做出有效反应所需要的时间. 如果P(t) > D(t) + R(t), 这个系统就是安全的; 反过来, 这个系统就是不安全的. 用公式来说明就是E(t) = D(t) + R(t) -P(t), 这个E(t)就是所谓的暴露时间, 在这个时间段里面, 系统是不安全的.

    公式看得让人头大, 还是用些故事来说更简单一点. 话说有两个毛贼打算打劫银行的金库, 第一次行窃, 两个家伙打算用榔头砸开银行金库的门, 这个活比较累, 大概需要30分钟的时间. 银行也不含糊, 安排了看门老头, 每5分钟巡逻一次. 结果可想而知, 毛贼刚砸了5分钟, 就被看门老头发现了, 看门老头一看不好, 赶紧通知警察局, 打个电话用了3分钟, 警察一听这还了得, 立即出警, 正好赶上无车日, 路上也不堵, 10分钟就到了. 再看两个毛贼, 大门才砸了一半, 警察叔叔一到, 只好风紧先扯乎了. 银行的金库得以保全, 看门老头, 警察叔叔立功评奖, 金库大门的建设方也得了一朵大红花.

    老话说得好: 不怕贼偷, 就怕贼惦记. 这两个毛贼回去一琢磨, 改方案. 第二次, 两个家伙扛着炸药就去了. 炸药确实好使, 咣的一声, 金库的门就被炸开了, 看门老头虽然立即发觉, 但是电话用了3分钟, 警察赶到用了15分钟, 这两个家伙用了1分钟炸开金库的门, 15分钟落袋, 还有2分钟可以逃跑, 结果只能发通缉令. 而银行的损失已经实实在在地发生了.

    (课后作业, 请自行使用PDR模型分析攻台方案)

    从上面的案例里面可以看出, 安全其实不过是一个时间函数. 从这一点可以引申出一个推论, 推论一: 绝对的安全是不存在的, (信息)安全是一个持续的过程. 如果有人向你忽悠他的盾是绝对坚固的, 你可得要小心了, 搞不好又是一个卖拐的. 所谓的”一步到位”在信息安全领域里面是不存在的, 看看你的防病毒软件更新了多少次, 这就是最直接的例子.

    既然绝对的安全是不存在的, 那岂不是我们都很危险? 现实生活并非如此, 我们不但要算政治帐, 还要算经济帐. 攻击是需要成本的, 炸药是要钱的, 逃跑也是要钱的, 被抓住是要坐牢的. 这些都是成本, 如果攻击的成本大于收益, 花100块钱去抢10块钱, 这种冤大头谁都不愿意干. 反过来说, 花100块钱去保护10块钱的东西, 干了也是冤大头. 这就引申出了又一个推论, 推论二: 安全防护的适度原则, 对安全的投资要小于所需要保护的资产价值, 反过来, 如果资产价值极高, 那么在投入攻击成本时, 再高点是值得的. 大家看看身边, 防盗门这个东西是在改革开放后才兴起的, 为啥? 以前大家都没有米,有没有防盗门无所谓, 现在家里都有些米了, 投资个防盗门还是值得的.

    (课后作业, 请自行使用上面的推论, 分析台独是否可行)

    前面一直说安全, 那么什么是安全呢? 在信息安全里面, 通常把安全定义为满足下面几个条件: 秘密性, 完整性, 可用性. 秘密性是显而易见的一个要求, 我的银行卡密码不能泄漏; 完整性在某些情况下更重要一点, 例如, 我可以让你知道我的银行账户里有多少钱, 但是金额你不能修改; 而可用性则给信息安全提出了更高的要求, 把保险柜放在火箭里面, 飞出太阳系, 秘密是秘密, 完整也挺完整, 不过有啥用呢? 对合法用户, 必须保证其可以安全地访问所需的数据, 而对于非法用户, 必须保障有效的防护. 这其实就是认证和授权, 对于认证, 目前在信息安全领域里面已经发展出了很多目前看来还比较有效的方法, 但是授权, 哦, 这是整个信息安全体系里面最难实现的部分, 而计算机安全保护等级整个其实就是说的授权.

    大家看着累吗? 要不怎么叫做八股呢 :-) 土鳖, 来, 俺喝口水去.

    预告: IT八股:闲聊信息安全 (之二.四大火坑)

    关键词(Tags): #IT(当生)#信息安全元宝推荐:闲看蚂蚁上树,请尽量,晨枫, 通宝推:mezhan,

    本帖一共被 1 帖 引用 (帖内工具实现)
    • 家园 好文花之
    • 家园 后面一半看的挺明白。
    • 家园 题材好,写的更好!

      恭喜:你意外获得【西西河通宝】一枚

      谢谢:作者意外获得【西西河通宝】一枚

      鲜花已经成功送出。

      此次送花为【有效送花赞扬,涨乐善、声望】

    • 家园 真是学到了东西。

      河里这样的好帖越多越好!

    • 家园 【原创】IT八股:闲聊信息安全 (之四.产品点评(下))

      事先声明一, 由于我目前的职业作品就是一个采用了UTM概念的东东, 因此本文难免有做广告的嫌疑. 事先声明二, 因为我一直答应一些朋友在有时间的时候, 写一篇短文, 向他们介绍一下我的产品, 我打算把内容合并在一起, 因此本文绝对有做广告的嫌疑. (不喜欢的朋友看到广告部分直接无视就可以了)

      Unified threat management (UTM)的Wikipedia解释很简单, 而且存在不少错误(我曾经以为是我在2003年底最早想到并着手开发这样一个集成化的安全产品, 后来发现, UTM这个概念Fortinet在2002年就已经提出来了). 可见虽然概念提出已经有不少时间, 但是目前尚未普及.

      具有UTM概念的产品, 在Open Source领域里面有IPCop, SmoothWall, M0n0Wall, 其中M0n0Wall是基于FreeBSD的, 其它两个都是基于Linux. 在商业产品领域里面, 包括Fortinet的Fortigate, WatchGuard, 还有我的NetONE等:-).

      集成化的安全产品的优点可以用\"多快好省\"四个字来描述(这四个字印在了俺们的名片上), 反过来, 你也可以用这四个字去衡量某个具体的产品.

      : 集成化的安全产品集成了多种安全功能模块, 但是集成哪些功能, 在这里就出现了分化. 第一类是完全以UTM概念为指导的产品, 例如Fortinet, WatchGuard等, 其中都包括防火墙/NAT, IPsec VPN, 垃圾邮件过滤(Spam Filter), 防病毒网关(一个火坑), IDS/IPS(又一个火坑), Web内容过滤等功能; 第二类则扩展了大量的网络服务和网络通信类的功能在里面, 例如, 流量整型(Traffic Shaping), DNS代理等等, IPCop, SmoothWall可以归入此类; 第三类是在第二类的基础上, 去掉了火坑部分, (例如M0n0Wall), 同时也追加了很多与国内主流需求相关的功能, 例如SSL, PKI服务, 负载均衡(Load Director), 802.1X等等在里面, (例如NetONE);

      : 主要体现在部署方便, 实施速度快. 集成化的产品都具备这样的优点, 部署和配置一台集成化设备, 显然比独立部署和配置多台独立设备方便快速 (带着iPhone总比既带手机, 又带MP3, PDA来的方便). 而且由于集成在一台设备里面, 无论在网络地址划分, 还是功能相互之间的整合上, 都可以得到很大程度上的简化. 在NetONE上, 我们在体现另一个\"快\"上也下了不少功夫, 统一的操作界面, 智能化的规则冲突检测, 全面的自动化系统配置审核, 这么做的目的, 在于缩短用户的学习时间, 可以快速上手, 迅速发挥产品的能力. 一方面可以最大限度地体现产品的价值, 另一方面也可以有效地降低技术支持和维护的工作量.

      : 我一般是用\"好用\"来解释这个好. 集成化产品的大忌是把产品做成简单的功能叠加, 看似一体, 其实互不相关. 一个简单的例子就是, 如果需要新建一条VPN隧道, 那么防火墙的规则应该自动发生变化, 确保这条隧道的通畅. 前面说过\"傻瓜化是信息安全产品的终极目标, 而傻瓜化的背后就是高度的智能化和自动化. 在达到同样的安全需求的前提下, 越简单, 越傻瓜的产品是越好的产品\". 这也是NetONE在设计和开发过程中的一个指导原则.

      : 首先是可以节约设备投资, 分立设备的价格累加总是会高于集成设备, 更何况集成设备可以通过升级等方式追加新增模块. 其次是可以节约运行成本, 傻瓜化的配置和管理方式可以大幅度节约人力成本, 另外, 至少省电省空间吧;-)

      集成化的安全产品也有缺点.

      首先, 与独立产品中的一流产品相比, 集成化产品中相应的模块的功能往往仅仅是一个子集. 这个也是很容易理解的, 毕竟产品的重点, 技术的专长和相应的投入有很大的差别. 但是从另外一个角度来说, 即使是功能子集, 如果对80%的用户来说已经足够, 其市场前景和发展空间也已经足够了, 这也是UTM产品目前主要应用于中小网络环境的原因.

      其次, 集成的功能越多, 性能就越成为用户担心的方面,. 这样的担心并非没有道理, 但是我的经验是如果避开了那些火坑, 更多的情况是用户高估了自己的负载. 也正因为如此, 在NetONE里面, 我们提供了很多性能监测的工具, 例如实时的CPU, 内存负载情况, 网络实时流量, VPN通道实时流量, SSL目前的连接并发数等等. 我们更倾向于让数据告诉我们实际的情况是什么样.

      在计算机和通信的发展历史上, 集成一直是主要的潮流. 在我看来, 其根本原因在于, 我们总是希望得到更多的功能和更少的麻烦, 而集成是满足这样的渴望最快捷也最有效的方法. 对于UTM或者类似的集成化的安全产品来说, 现在的实现方式也许是对的, 也许是错的, 也许不久会出现新的思路和方法, 但是无论如何, 这个方向总是值得去努力的.

      这个系列到此就告一段落了, 感谢你的耐心, 一直读到这里, 希望本文不至于让你觉得浪费了时间. 至于我, 一天一篇的系列文章实在有点吃不消, 在各位朋友的鼓励下却又欲罢不能, 真是一段辛苦而又快乐的过程.

      (仔细算了一下, 我们是从2003年底而不是2004年底开始的, 在文章中已经改正)

      关键词(Tags): #信息安全#广告
    • 家园 【原创】IT八股:闲聊信息安全 (之四.产品点评(上))

      事先声明一, 这属于无责任点评. 事先声明二, 安全产品种类繁多, 我只是挑选一些常见的, 或者特别有用的, 或者比较新奇的说说, 如果各位对其它产品也有兴趣, 我可以再逐步地补充进去.

      在<>四大火坑(下)>里面提了一下单点登录(SSO), 留下的尾巴先收拾干净. 微软的Passport技术, 在我看来就是一种SSO, 一次认证, 到处通行. SSO这个一半是海水, 一半是火焰的水火坑, 大公司是很有动力往下跳的, 因为这些企业往往产品众多, 应用广泛, 拿出来的解决方案基本上本公司的产品就可以全包. SSO是很好的黏合剂, 可以有效地提升产品之间的融合度, 便于产品打包销售.

      但是对异构环境, SSO就力不从心了, Application的种类太多了, 从架构到具体实现差别很大, 因此SSO一到具体实现, 除非有足够的投资(资金, 时间和决心), 否则往往只能延伸到一小部分的应用, 完成一个半吊子工程. 此外SSO缺乏一个公共的标准, (微软, IBM等等自己都有一套), 只有等到几位大佬打累了, 坐下来定分赃的规则, 在这之前, 对其他人来说还是要在痛苦中继续煎熬.

      Firewall目前基本上属于标配, 相当于小区保安, 没有是万万不可的, 有个院子还得扎个篱笆墙呢, 不然谁家的小狗没看住, 都可以来撒泡尿. 但是Firewall的问题是, 它总是要有出入口的, 就好比在保险箱周围建了一圈墙, 在墙上开个门. 如果这个门是在自家房子里面还好说(限定可以访问的IP等等), 但是如果本来就是要提供公共服务的, 这个门谁都可以进来, 那么安全不安全就全看保险箱的了.

      保险箱是安全的最后一道防线, 而保险箱的最后一道防线就是数据安全. 在保护数据安全方面, 我觉得最有效的工具是数据完整性保护工具了, Tripwire就是其中的典型代表(而且有Open Source的版本). 数据完整性保护工具的原理大致如下: 先对全部或指定的数据做一次快照, 然后定期把当前数据和快照进行比对, 如果发现当前数据被修改了, 可以根据预先设置的预案, 报警或者自动把改动的数据回滚回去(Rollback). 这种方式对防止数据篡改或者系统被安装rootkit方面非常有效.

      数据保护的另一个有效的方法是加密. 都说密码技术是信息安全最核心的技术, 就是因为数据是信息安全最核心, 想象一个黑客辛辛苦苦, 劈关斩隘, 冲破重重艰难险阻, 最后到达密室的最里层, 拿到<九阴真经>的最后一章, 痛苦地发现完全看不懂, 信息安全专家们在梦里都会笑醒.

      数据加密的产品包括PGP(这个最有名), TrueCrypt(Open Source的后起之秀)等等(在linux之下, 数据加密工具可供选择的更多, 例如dm-crypt). 这些产品都可以实现加密磁盘, 在硬盘上先以文件的形式划分一整块的空间, 然后可以把这部分空间mount成一个逻辑分区, 在这块虚拟的逻辑分区硬盘上所有读写操作都会被自动加解密, unmount之后, 对没有开锁钥匙的人来说, 就是一个由一大坨乱码组成的文件. 这样做带来的一个附加好处就是数据备份更简单了, 要备份你的重要数据吗? 只需b把重要数据都放在这个虚拟分区里面, 然后直接备份这个虚拟分区文件就行了. Safenet公司的商业产品ProtectDrive做得更进一步, 它可以把整个物理硬盘整体加密, 在系统boot时, 先向使用者要开锁密码, 然后再进入操作系统.

      我所有需要保护的数据, 包括Email, 源代码, 文档, 个人小秘密等等, 都放在我的虚拟加密磁盘里面, 即使我的笔记本丢失了, 或者硬盘被别人拿走了, 或者硬盘损坏, 需要送出去修理, 都不用担心秘密会泄漏. 如果各位的硬盘上藏着前任的情书照片, Playboy的美女乃至AV的, 也强烈推荐使用, 但是一定要低调, 以防他人起疑心:-)

      在日常生活中, 很烦人的一点是需要记很多口令, 都一样就太危险, 不一样又容易搞混淆. 例如Keepas(Open Source)这样的口令管理工具就可以派用场了.

      防水墙是这样一种东东, 它安装在客户端的系统里面, 根据集中配置的策略, 限制文件的读写拷贝删除等操作, 例如, 指定某些文件不允许copy到移动介质上. 此外, 还可以随时把客户端目前的使用情况, 例如屏幕, 进程等等上传到中心管理端. 看着眼熟是不? 对, 这不就是木马嘛. 虽说对个人隐私是一大威胁, 但是在某些特殊的场合确实需要这样的工具来帮助实施管理要求. 这方面的产品我了解不多(俺的座右铭也是DO NO EVIL:-), 也就是觉得有趣, 大家知道有这么一种东西就是了.

      接下来专门讲UTM, 因为我目前的职业作品就是一个类似UTM但是方向和UTM又有区别的东东. 还是分两篇吧, 也好细细地讲.

      关键词(Tags): #信息安全产品
      • 家园 关于加密,我有一个疑问

        现在的数据量都这么大,用户PC硬盘动辄上百G,企业级的甚至要以T来衡量。而据我所知,目前没有什么既能保证足够的安全性又非常迅速的加解密算法,加解密速度过慢这一问题该如何解决?

        • 家园 要提升加解密的性能, 有两个方法

          1) 选择合适的算法. 不同的加解密算法, 速度是不一样的, 常用的算法里面, RC4和Blowfish是相当快的, AES的优势在于其性能和密钥长度基本没有关系, 也就是说, 可以在不损失性能的前提下, 提高安全性. 以往常用的3DES的加密速度现在看来已经很慢了.

          2)通过专用硬件来提升速度. 加密算法的设计基本上都考虑到了硬件实现的方便性. 例如尽量采用整型运算而不是浮点. 专用的硬件加密速度可以达到软件的数十倍甚至更高.

          对于大容量硬盘数据的加密, 时间主要消耗在于初始化的时候, 一旦初始化完成, 后面只需要对新增的数据进行加解密, 数据量会减少很多, 性能上的瓶颈也就不存在了.

          下面是在我的一台Xeon单CPU机器上使用openssl进行的加密速度测试结果, 测试得很随便, 但是可以作为一个参考:

          The \'numbers\' are in 1000s of bytes per second processed.

          type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes

          md2 1748.02k 3745.56k 5263.87k 5863.42k 6037.50k

          mdc2 0.00 0.00 0.00 0.00 0.00

          md4 14629.80k 53975.09k 154315.43k 333952.43k 455403.73k

          md5 13509.85k 51673.11k 156729.51k 323115.49k 465838.90k

          hmac(md5) 19072.06k 67477.51k 193057.37k 356614.23k 478763.49k

          sha1 13730.60k 44690.58k 116318.12k 203357.84k 263555.00k

          rmd160 12742.36k 38890.28k 90094.90k 138265.86k 163285.67k

          rc4 176092.23k 263092.73k 297950.89k 305990.66k 308690.45k

          des cbc 53596.11k 55646.59k 56644.52k 57249.79k 56399.19k

          des ede3 19924.93k 20017.06k 20018.35k 19542.25k 19964.92k

          idea cbc 0.00 0.00 0.00 0.00 0.00

          rc2 cbc 21101.15k 23118.25k 23057.81k 22998.70k 23002.92k

          rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00

          blowfish cbc 88121.21k 94906.33k 96360.45k 96931.84k 96261.46k

          cast cbc 41742.95k 44690.24k 45188.86k 45715.80k 45877.94k

          aes-128 cbc 44389.92k 78367.06k 101101.06k 108065.56k 109248.51k

          aes-192 cbc 41245.79k 69903.59k 87101.35k 92628.79k 93132.12k

          aes-256 cbc 37873.29k 63089.17k 71514.63k 80458.84k 80729.43k

          camellia-128 cbc 0.00 0.00 0.00 0.00 0.00

          camellia-192 cbc 0.00 0.00 0.00 0.00 0.00

          camellia-256 cbc 0.00 0.00 0.00 0.00 0.00

          sha256 6856.44k 15714.39k 28515.50k 36142.41k 39343.52k

          sha512 4957.56k 18240.60k 34160.78k 50387.72k 59692.74k

          sign verify sign/s verify/s

          rsa 512 bits 0.000846s 0.000064s 1182.7 15685.6

          rsa 1024 bits 0.003828s 0.000168s 261.3 5951.5

          rsa 2048 bits 0.020598s 0.000509s 48.5 1964.6

          rsa 4096 bits 0.123333s 0.001977s 8.1 505.9

          sign verify sign/s verify/s

          dsa 512 bits 0.000615s 0.000742s 1626.1 1347.6

          dsa 1024 bits 0.001663s 0.001992s 601.4 501.9

          dsa 2048 bits 0.005074s 0.006129s 197.1 163.2

分页树展主题 · 全看
/ 8
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河