一幅图值一千句话,威胁建模也不例外。数据流图(DFD)有助于通过以具有视觉意义的形式建立应用模型确定安全威胁,是全知识方法与零知识方法相比的主要优势之一(因为零知识测试者不太可能看到详细的DFD)。我们通常发现对这种目的来说,至少必须有0层(概要)和1层(组件级)DFD。我们的假想购物车应用的0层和1层DFD如图10-2和图10-3所示。
图10-2 我们的假想购物车Web应用的0层DFD
图10-3 1层DFD
浏览器发送一个请求,用凭据登录到网站;凭据传递到后端数据库校验并且发送响应给Web服务器。Web服务器根据从数据库收到的响应,显示成功页面或者错误页面。如果请求成功,Web服务器还在客户端上设置一个新的Cookie值和会话ID。客户端接着可以再发起请求添加货物到购物车,或者更新其简档和结账。