解释Notepad ++的DLL劫持是如何工作的

时间:2017-03-27 11:14:12

标签: security dll notepad++

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,或者只是被发现的可能性?

另外Notepad ++团队在最新版本7.3.3中,在发行说明中声称他们“修复了CIA Hacking Notepad ++问题”。有什么想法他们能做到吗?

1 个答案:

答案 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的证书检查。