Notepad ++承认此 DLL劫持漏洞: https://wikileaks.org/ciav7p1/cms/page_26968090.html 我从描述中得不到它是如何工作的。作为Notepad ++用户,我很担心,作为开发人员,我也很好奇。
这里有一般的 DLL劫持解释 - What is dll hijacking?。有点太笼统了。
这是否意味着要有效利用此漏洞,攻击者必须首先控制我的PC,使用不同的攻击向量,将恶意版本SciLexer.dll
(?)植入DLL搜索路径?
如果攻击者已经对我的PC有这样的权力,为什么他会打扰Notepad ++。为什么不去追求更多核心库甚至系统库?
我也没有在WikiLeak文本中听到这句话的含义:对于我的生活,我无法将此函数[Scintilla_DirectFunction(..)]称为。如果这是该DLL中唯一导出的函数,那么唯一一个由Notepad核心调用的函数,那怎么会被调用呢?这也意味着也不会调用恶意代码。
是否被实际检测到,被CIA或其他任何人攻击过SciLexer.dll
,或者只是被发现的可能性?
答案 0 :(得分:5)
DLL劫持攻击很简单:考虑包含许多文件的下载目录。
如果有人设法让您下载受操纵的SciLexer.dll
dll,则很可能会将其下载到您的下载目录中。下载后你不对文件做任何事情,文件只是保存在下载的地方。
稍后您从网上某处下载了一个txt文件,该文件也放在了下载目录中。
如果您现在打开资源管理器并双击下载的txt文件,则当前目录是下载目录。然后,dll劫持易受攻击的Notepad ++版本将搜索要加载到当前目录(现在是下载目录)中的SciLexer.dll
文件。因此,Notepad ++将加载您之前下载的操作SciLexer.dll
。
关于修复,您可以查看source code changes that fixes the bug。
似乎Nodepad ++团队改变了加载这个dll的方式,另外他们添加了SciLexer.dll
的证书检查。