全文共3950字,预计学习时长10分钟
图源:Google
人们往往默认代码是安全的,漏洞或潜在的攻击总是放到最后才考虑。大多数时候,我们脑子里想的都是sprint、 scrum、会议记录,以及市场营销获得批准的最新进展。
在一个发展速度重于代码安全性的世界,这是一个真实存在的问题。如果不能彻底解决入侵或黑客攻击的问题,企业可能会损失一大笔钱。根据IBM《2020年数据泄露成本报告》,一次数据泄露的平均总成本为386万美元。最糟糕的是,识别控制这种入侵平均需要280天。
数据是数字黄金,代码承载着数据。虽然Java这一服务器端语言相对安全,但是黑客仍有很多方法来攻击和访问隐私数据。
以下是10个最常见的Java漏洞以及预防措施,可帮助大家尽快识别并抵御代码中可能出现的漏洞。
1.代码注入
接受输入的应用程序都容易受到代码注入的攻击。当通过输入传递的数据对程序运行或返回数据的方式造成意想不到的副作用时,就会发生代码注入。
仔细想想,表单是一个双向的过程。输入数据后,应用程序处理数据并返回结果。如果结果不符合期望,就会让应用程序处于易受攻击的状态。
代码注入经常发生,其容易程度超出想象。2010年,一位日本开发者注意到可以将HTML作为推特发送。通过在HTML中添加一些JavaScript,他利用半夜人们熟睡的时间在Twitter上发送了一小段蠕虫代码。
这一小段代码有什么用?
只要用户将鼠标悬浮在这段代码上面,就会立即转发。所以关注者滚动鼠标,就是在转发那段蠕虫代码。这在几分钟内就产生了超过3000次转发的连锁效应。
虽然Twitter不只在堆栈中使用了Java,但这一警示事件