作为程序的创建者,您可能比其他任何人都更容易意识到安全漏洞和潜在的黑客攻击。如果您知道编写的系统中的漏洞,是否必须在发布之前添加增加安全性的标志,还是应该逐案评估以确定安全漏洞的严重性?
作为程序的创建者,您可能比其他任何人都更容易意识到安全漏洞和潜在的黑客攻击。如果您知道编写的系统中的漏洞,是否必须在发布之前添加增加安全性的标志,还是应该逐案评估以确定安全漏洞的严重性?
Answers:
我要说的是,应视具体情况而定。您是作者,您知道很多漏洞。有些漏洞可能只有您知道。当然,这意味着如果其中任何一个被利用,您可能会遇到一些难以回答的问题,因此,如果可能的话,减少这些漏洞可能是一个好主意。更重要的是,是否有人可以轻松地将其作为黑盒系统入侵。
我经历过两次不幸的经历。在这两种情况下,企业都在发布带有非常敏感数据的严重安全问题的产品。
在这两种情况下,尽管我尽了最大的努力使他们意识到自己正在承担的风险,但企业似乎并不在乎。
您唯一能做的就是尽可能大声地(专业地)抗议,尽可能清楚地知道潜在的后果,并且在做所有事情时都要记录在案。将您相关的电子邮件打印为PDF,并将这些文件保存在家里,或者将您的个人电子邮件地址附加到密件抄送,或者您可以这样做。这是不可避免地发生不良情况的唯一解决方案。
您希望管理层会尊重您的技术建议,并考虑到这一点,但是不幸的是,您必须尊重最终决策者。每天都会做出糟糕的业务决策。
编辑:贾森克提到“请非常小心密送您的家庭住址”,我非常同意。请不要违反公司政策,并冒着比现在更多地公开发布安全漏洞的风险。
我反过来说-作为创建者,您经常过于接近代码而看不到漏洞。
如果您知道或被告知漏洞,它们就像任何其他错误一样-评估,确定优先级然后修复。
我认为答案取决于如果系统被恶意黑客入侵会造成的危害程度。显然,出于良心考虑,土木工程师不会批准不安全桥梁的设计。这样的桥梁的建造可能导致受伤或死亡。工程师故意进行此操作也是非法的,但是软件工程师(至少在美国)不受同样法律约束的事实并不能免除他们对故障系统采取立场的专业责任。不幸的是,您的公司可能不需要您的签名即可发布软件。
您没有指定正在使用的系统的确切性质。如果它与病历,银行业务,空中交通管制或其他一些真正关键的基础设施有关,我想您在发布前坚持最高安全级别是有道理的。
是的,您应该在版本发布之前对其进行修复。永远不要低估黑客的创造力。您会在后门大开的情况下休假一周吗?你的借口是
“哦,它在后面,它并不直接面对街道。没有人会看到它悬空敞开。”
可能不会。
但是,如今,我确实毫无头绪地了解到,最神圣的发布日期比潜在的安全性重大责任问题更重要。如果是您的情况,那么我建议提请注意,记录问题,确保记录充分,众所周知,并明确解释了风险,然后由PM决定要采取的措施。
如果项目经理做出了错误的决定,并且决定忽略此决定并按计划进行发布,那么您就无须承担责任,因为您吹了哨子。
否则,如果您发现此问题并将其保留给自己,并且发生了某些事情,那么您将对后果承担个人责任。
这是你的选择。