嵌入式Qt-WebEngine安全风险
在我的QT应用程序中,我需要下载某些数据。此数据受保护,用户需要登录网站下载数据。为了允许用户登录,我使用嵌入式Qt-WebEngine安全风险,qt,security,qnetworkaccessmanager,qwebengineview,Qt,Security,Qnetworkaccessmanager,Qwebengineview,在我的QT应用程序中,我需要下载某些数据。此数据受保护,用户需要登录网站下载数据。为了允许用户登录,我使用QWebEngineView显示我们网站的登录页面。用户输入其凭据。这将生成认证所需的cookie。我将生成的cookie存储在QNetworkCookieJar中。然后我创建一个QNetworkAccessManager,并将保存的QNetworkCookieJar添加到QNetworkAccessManager。然后我使用QNetworkAccessManager下载数据。这一切都很好。
QWebEngineView
显示我们网站的登录页面。用户输入其凭据。这将生成认证所需的cookie。我将生成的cookie存储在QNetworkCookieJar
中。然后我创建一个QNetworkAccessManager
,并将保存的QNetworkCookieJar
添加到QNetworkAccessManager
。然后我使用QNetworkAccessManager
下载数据。这一切都很好。然而,在我的项目的安全审查中,有人提出了这样的担忧:登录页面在我的应用程序的控制下,因此我可以获得用户凭据(例如,通过观察登录页面上的击键)
所以我的问题是:这种安全风险是真的吗?我可以实际获取用户凭据吗?如果有的话。我必须使用哪些选项来验证用户身份并避免任何安全漏洞?是的,在Qt应用程序中,您始终可以捕获发送到小部件的任何击键。谷歌浏览器和几乎所有的网络浏览器也是如此。用户在应用程序中输入数据,然后将其传递到网络,并通过导线传递到web服务器 当考虑安全风险时,你总是考虑两件事。潜在的伤害和制作漏洞的可行性。潜在的伤害很高,你无法控制。您可以控制的是创建漏洞利用的可行性。考虑到您(或您的公司)控制代码,您可以很难利用您的应用程序知道凭据这一事实。这将使风险非常低 即使使用硬件加密狗之类的东西也会有问题,因为您必须将数据从加密狗传输到web引擎。这仍然可以提供一种拦截方法 尝试寻找关于软件安全风险分析和缓解的讨论。甚至还有一个关于它的SE站点