本章开头我们提到安全隐患是一种Bug,但有时即使修正了所有Bug也不能保证应用程序绝对安全。举例来说,没有使用HTTPS协议(超文本传输安全协议)来加密传输的状态并不能算作是Bug,这种情况下,虽然不存在(狭义的)安全隐患,但是传输的内容却存在被窃听的可能性。 如同使用HTTPS来对传输内容进行加密那样,积极主动地加强安全性的措施在本书中被称为“安全性功能”。安全性功能实为应用程序的一种需求,所以也被称为安全性需求。 从开发管理这一层面上来说,将应用程序安全性方面的Bug和需求这两者整理清楚也是至关重要的。如同Bug必须被消除一样,消除安全隐患也应当是理所当然的。另一方面,是否将安全性功能加入到项目需求中,则应该由软件的发包方结合项目经费作出决定。 为了让读者有意识地区分安全性Bug和安全性功能,本书特意将两者分别独立成章来加以细述。