技术开发 频道

软件开发中十个不应犯的常见安全错误

【IT168 技术文章】

    一起来阅读和了解10个不应犯的非常基本、易于避免的——却是人们犯的最多的常见安全错误吧。

    以下是我一直在看的10个安全错误列表。然而它们不仅是常见的—它们也非常基本的,初级的错误,即任何具有一点点的安全知识的人都应该知道,更不要说犯了。

    1.使用未加密的电子邮件发送敏感数据:通过未加密的电子邮件发送口令、帐号数据的,请停下来。我理解许多客户太蠢或太懒而不使用加密,但我不是这样。即使你们以通过以电子邮件以非加密敏感数据的方式,把他们想要的东东发给他们,这不意味着你不能我所需要的——在发送敏感数据时使通信安全。

    2.使用答案很容易发现的“安全”问题:社会安全号码,母亲的婚前姓名,第1个宠物,以及生日,并不构成一个核实身份的安全手段。要求最终用户指定一个那样的问题,作为一种重置密码的手段,以妥协处理他或她的密码,基本可以确信的是,密码本身在防范为获得未经授权的访问而愿意花点功夫的人时没有用。

    3.密码限制过头了:我曾数次看到一个提供管理一个人财务的功能的系统的在线接口——如银行网站——实际上使接口缺少安全的强制密码限制是明显不能接受的。六位数字密码是令人惊愕地相同,并且该例只会变坏。看前一篇文章,《像这样的坏密码如何会出现呢?》来获得其它例子的详情。

    4.让供应商来定义“良好的安全”:此前我说过没有您可以信任的供应商。希望您正在听。最终,公司供应商真正关心保护的惟一安全是其自身利益和市场占有率的安全。虽然这有时会提醒供应商来改善其安全产品和服务,但它有时会提示了相反一面。如此一来,你必须质疑供应商“良好的安全”的定义,你不能让供应商告诉你什么是对你最重要的。

    5.低估所需要安全专业技术:企业的掌权者常常不明白特定安全技术的必要性。不仅非技术性的管理人员如此,而且技术性的IT管理人员也是这样。事实上,在标准工作组,如一个产生了WEP标准的,往往包括了很多很聪明的技术人员,而不仅仅有一个译解密码者,尽管事实上他们打算制定的安全标准,很晃显地依赖加密算法。

    6.低估审查的重要性:即使那些有安全技术专长的人,需要将他们正试图完成的工作,交由其他同样具有该专长的人检查。在安全团体中,同行审查被视为是类似于圣杯的安全保证,并且没有什么东东,未经相当数量的来自外部独立发展计划的安全专家的惩治水平测试,就真地被视为安全。

    7.高估保密的重要性:一些犯了低估复审的重要性的安全软件开发者同时高估保密的重要性。他们摇手以要保持安全政策的秘密是何等重要为由来为缺乏同行审查作开脱。然而,作为kerckoffs 的原则——最根本的安全性研究之一——指出,任何本身安全依赖于系统设计保密的系统,不是一个强健安全的系统。

    8.要求很容易伪造的身份证明:凡是涉及到传真签名,或发送影印或扫描身份证的,情形基本上类似于一个安全戏院——作了大型演出,实际上却没有真品(安全,在这种情况下)。到目前为止,伪造诸如第二代(或更糟的)低质量的副本太容易了。其实,对于类似签字和身份证的东西,让一份拷贝起到有效核查作用的唯一方法是它要是一个足以以假乱真的副本。换句话说,只有一个成功的赝品才是避免易于伪造的足够好的副本。

    9.不必要的重复制造:通常,新安全软件的开发者没来由地重新创建一些已经存在的东东。一些软件供应商患上了非我发明症,最终创建了没有新意或需要的新软件。这可能没什么大不了的,如果不在意新软件通常未经同行审查,犯了先前贯彻思想已摆平的安全失误,通常弄得一团糟。每当创建一款新软件时,思考一下你是否正在替换已经在做那项工作的别的东西,你的替换是否确实有重大差别。然后,如果它做的是重要并且不同的工作,考虑你是否能把它增加到现存软件中,这样你就不会因试图替换而产生一包新问题。

    10..放弃安全手段,换取安全感:这是一个错误,荒谬得令我难于解释,但它是如此普遍,以致我无法将其从清单中剔除。只要有人宣称,“相信我,我是一个专家,”人们就会将个人隐私安全王国的钥匙双手奉上,并且他们是如此心甘情愿,热切,通常不加思索。 “证书颁发机构”告诉你信任谁,从而剥夺了你就信任问题作出自己的决定的能力;Webmail服务供应商提供了服务器端的加密和解密,从而剥夺你的端对端加密和对自有密钥的控制;操作系统决定执行什么,无需您的同意,从而剥夺了你保护自己免于移动恶意代码侵害的能力。不要将安全控制对弃给第三方。当然,你自己未必能够开发一个良好的安全程序或策略,但这并不意味着该程序或策略不应该让您为自身利益而其控制运作。

0
相关文章