精华内容
下载资源
问答
  • 信签名
    千次阅读
    2021-02-07 17:15:31

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~

    作者前文介绍了宏病毒相关知识,它仍然活跃于各个APT攻击样本中,具体内容包括宏病毒基础原理、防御措施、自发邮件及APT28样本分析。本文将详细介绍什么是数字签名,并采用Signtool工具对EXE文件进行签名,后续深入分析数字签名的格式及PE病毒内容。 这些基础性知识不仅和系统安全相关,同样与我们身边常用的软件、文档、操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

    更多相关内容
  • 突破Edge浏览器的签名验证机制

    千次阅读 2022-03-16 22:04:22
    从Windows 10 TH2开始新增了三项针对DLL加载的安全特性,其中一项是禁止特定进程加载未签名的DLL(SignatureMitigationOptIn),也就是说使用传统的注入方式(如远程线程注入)向Edge浏览器里注入未签名的DLL已经行...

    0x00写在最前

    这篇文章写于2018年9月,时至今日,微软的Edge已经采用chromium内核。经过测试,以下讲解的签名问题也不存在(对于注入的DLL已经没有强制签名策略),谨以此文章记录之前做过的调查。

    0x01 前言

    Edge作为微软为Win10推出的安全浏览器,其中包含了很多安全特性。从Windows 10 TH2开始新增了三项针对DLL加载的安全特性,其中一项是禁止特定进程加载未签名的DLL(SignatureMitigationOptIn),也就是说使用传统的注入方式(如远程线程注入)向Edge浏览器里注入未签名的DLL已经行不通了!但在最近的课题研究中,我发现可以注入未签名的DLL到MicrosoftEdge.exe以及MircosoftEdgeCP.exe进程内,这包括最新的Win10 1803、1709以及1703等多个平台。下面就这个发现做一些介绍。

    0x02 进程签检查方法

    从Win8.1开始推出的SDK中有一个结构体,可以用来查看每一个进程的签名验证机制,结构体如下所示:

    typedef struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY {
            union {
                   DWORD Flags;
                   struct {
                           DWORD MicrosoftSignedOnly : 1;
                           DWORD StoreSignedOnly : 1;
                           DWORD MitigationOptIn : 1;
                           DWORD AuditMicrosoftSignedOnly : 1;
                           DWORD AuditStoreSignedOnly : 1;
                           DWORD ReservedFlags : 27;
                   } DUMMYSTRUCTNAME;
            } DUMMYUNIONNAME;
    } PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, *PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY;

    该结构体截取自MSDN,其中我们需要关注的两个值分别是StoreSignedOnly和MitigationOptIn,它们的意义如下:

    • StoreSignedOnly位为1代表的意思是阻止进程加载没有Windows Store签名的映像文件。
    • MitigationOptIn位为1代表的意思是阻止进程加载没有微软,Windows Store以及WHQL签名的映像文件。

    前面提到的一个安全特性(禁止加载未签名的DLL)就在这个结构体里面。利用上面的结构体以及公开的API GetProcessMitigationPolicy我们可以写个程序用来验证某个进程的签名验证机制。

    对MicrosoftEdge.exe进程的签名验证机制查看结果如下图1所示:

    图 1

    我们可以看到 StoreSignedOnly和MitigationOptIn 的值都是1,这意味着没有6(Store)级签名的DLL是不能够注入到MicrosoftEdge.exe进程内的。

    下面我们使用未签名的DLL(图2)注入MicrosoftEdge.exe进程来验证一下,结果如图3所示:

     

                                                                        图2

                                                            图3

    很明显结果是失败的,我们确实无法通过远程注入的方式将未签名的DLL注入到MicrosoftEdge.exe进程内!

    0x03 绕过Edge签名验证机制

    在一台干净的Win10机器上,导入我事先已经准备好的注册表文件,重新启动MicrosoftEdge.exe程序,然后查看MicrosoftEdge.exe进程的签名策略,结果如图4所示:

                                                                             图4

    由图可以惊喜的发现 StoreSignedOnly 和MitigationOptIn 的值均是0,也就是MicrosoftEdge.exe进程的签名验证机制被关闭了。那么如果我们再次注入之前未签名的DLL是否能够成功呢?

    再次执行注入命令,结果如下图5所示:

                                                                   图5

    我们看到结果是成功的,为了万无一失我们使用Process Explorer来看一下我们的DLL是否在MicrosoftEdge.exe进程内,结果如图6所示:

                                                               图6

    确实是成功注入未签名的DLL到MicrosoftEdge.exe里面了!

    那么成功的点在什么地方呢?在上面所做的操作中我们只是多了一步导入注册表文件的操作,是的,成功的点就在这里,下面我们介绍注册表的内容(图7)。

                                                                           图7

    这3个注册表键是IME使用的,也就是在安装任何一个第三方输入法的时候,都会产生这3个注册表键,其中GUID值 {E7EA138E-69F8-11D7-A6EA-00065B84435C}是任意的。

    在研究课题(如何更好地控制Edge的UI)的过程中,发现外围(Edge进程外部)控制始终是有瑕疵的,要么是效率问题,要么是控制不当存在崩溃现象。所以想到能够在内部控制是最理想的。

    在经过一番调查后,联想到输入法是否可以实现Edge注入呢?毕竟输入法的某些DLL是注入到使用它的进程内的。

    由此我发现了通过这3个注册表键,可以关闭MicrosoftEdge.exe及其保护进程的签名验证机制!那这会不会影响其他的进程(主要是Win10系统内置的进程)呢?

                                                                       图8

    从图8可以看出导入注册表后,SkypeApp.exe进程的签名策略(StoreSignedOnly位为1)并未发生改变。后经过测试发现其他进程的签名策略也没有受影响,可见以上3个注册表键影响的只是(暂未发现其他)Edge浏览器进程。至于为什么会影响Edge浏览器,并且Edge的签名策略是如何关闭的,我不得而知,至少从安全层面上来说,这应该属于Edge的"安全漏洞"吧。

    0x04 总结

    在与微软的数封邮件沟通之后,被对方告知是特意为第三方输入法而做的“设计”,并不打算对此进行任何修复。对于此说法个人觉得有点牵强,原因有以下几点:

    • 第三方输入法是常见并被用户常常使用的软件,因为安装第三方输入法而导致Edge浏览器可以被未签名的DLL注入是存在风险的!
    • 即使这是为第三方输入法而做的特别设计,微软也是不需要把StoreSignedOnly位关闭的,在前面提到SkypeApp.exe进程内可以正常使用第三方输入法,而该进程的StoreSignedOnly位始终是1(这要求所注入的DLL签名级别在6级)。那么对于Edge浏览器而言为了第三方输入法连最基本的Store签名级别也关闭了,这种设计岂不是自相矛盾,设计不合理?

    0x05 附录

    Protected Processes Part 3 : Windows PKI Internals (Signing Levels, Scenarios, Root Keys, EKUs & Runtime Signers) – Alex Ionescu’s Blog

    Microsoft Edge binary injection mitigation overview – Where security meets innovation

    Protecting Microsoft Edge against binary injection - Microsoft Edge Blog

    http://blogs.360.cn/post/poc_edgesandboxbypass_win10th2_new_security_features.html

    展开全文
  • DSA 数字签名 本程序实现DSA数字签名 是学习和研究密码学的良好资源 DSA 数字签名 本程序实现DSA数字签名 是学习和研究密码学的良好资源
  • 设置一下可以运行未签名的脚本或者为你的脚本签名。 set-executionpolicy Bypass PowerShell因为在此系统中禁止执行脚本的解决方法 //www.jb51.net/article/95022.htm Powershell 脚本数字签名实现方法 您可能感...
  • UOS-基于Linux国产操作系统下载包(私我获取永久使用激活码)
  • 签名验证和加解密 数据签名校验 为了确保 开放接口 返回用户数据的安全性,微信会对明文数据进行签名。开发者可以根据业务需要对数据包进行签名校验,确保数据的完整性。 签名校验算法涉及用户的session_key,通过 ...
  • 本资源包含:RSA签名算法,格式为PKCS7。RSA签名算法,格式为PKCS7。RSA签名算法,格式为PKCS7。RSA签名算法,格式为PKCS7。 RSA加密算法是一种非对称加密算法。...(积分总会乱掉,实在需要请私我)
  • UOS操作系统离线进入开发者模式安装包,安装后重启即打开开发者模式,无需申请官方账号。适用于arm64版,安装包已签名
  • 您可能会自动生成图像签名以用于电子邮件或签字。 您可以直接使用它来节省重新编写生成脚本的时间。 在哪里可以找到工作示例或演示? 我可以在哪里捐赠或联系所有者? 谢谢! 这会激励我编写更多代码! :] ...
  • 心有限公司、兴唐通信科技有限公司、上海颐东网络信息有限公司、山东得安信息技术有限公司、国家 息安全工程技术研究中心。 本标准起草人:刘平、谭武征、柳増寿、李述胜、徐强、李元正、刘承、王妮娜、夏东山、...
  • 傻瓜签名软件,不是自动出来的,你先在书写板上写下自己的名字或字什么的,然后可以改草书、笔脉、轻笔、连绵、宽度、抑扬、飞白,我试过了,写的再丑,改一改也挺漂亮的。
  • 陕西信合签名控件不能安装问题

    千次阅读 2015-08-07 08:54:04
    环境: Winxp 32位 金山毒霸 ...陕西信合网上银行,除了手续费便宜是唯一...昨晚在Win7 64位上安装都正常,填验证码时要启动UsbKey,总是签名失败,尽管状态都是正常的。卸载再装,再插Usbkey也没用。 但可

    环境:

    Winxp 32位

    金山毒霸



    陕西信合网上银行,除了手续费便宜是唯一亮点,真是能不用就不用。

    安装一大堆与自己Usb Key无关的东西,还得把IE的安全性改的乱七八糟,还不支持猎豹,在猎豹下竟然能导致死机。


    昨晚在Win7 64位上安装都正常,填验证码时要启动UsbKey,总是签名失败,尽管状态都是正常的。卸载再装,再插Usbkey也没用。


    但可以确定它在XP下是好用的。


    使用陕西信合网银向导安装,而签名控件总是 1个惊叹号,怎么也装不上。



    打算卸载信合控件了。 看到开始菜单的签名控件,决定去它的目录看看。

    看到批处理,是注册DLL文件。

    在CMD下运行,发现不能注册的原因:



    regsvr32命令找不到路径。


    使用1句:

    set path=%path%;c:\windows\system32

    把路径加进来,再运行dllinstall,签名控件就正常可以用了,或者通过安装向导也可以正确安装它。




    如果是通过CD按部就班安装的XP系统,多数问题会少。 如果不去命令行运行,也看不到这个错误,而信合安装软件也没有做出错误原因提示。

    通常要求重新安装系统,可以解决问题,这也说明这种应用太娇贵、慵懒了。


    展开全文
  • deb包签名后,会在待签名的deb包目录下创建signed_deb目录,该目录下放置已完成签名的deb包文件。UOS系统开发者系统下正常,但是在正常用户模式下安装软件,提示没有签名。PS: 如果没有UOS账号,去下面贴的官网注册...

    目录

    1.场景

    2.解决

    第一步,打开统信应用商店,搜索“证书工具”,单击安装证书工具。

     第二步,打开终端(位置随意)执行命令:

    第三步,deb包签名

    deb包签名-验证签名。(这一步可以不做)进入已完成deb签名包的绝对路径,也就是signed_deb目录下打开终端,进行验证。

    第四步、安装已签名deb包


    1.场景

    UOS系统开发者系统下正常,但是在正常用户模式下安装软件,提示没有签名。


     

    2.解决


    第一步,打开统信应用商店,搜索“证书工具”,单击安装证书工具。


     

     第二步,打开终端(位置随意)执行命令:

     PS: 如果没有UOS账号,去下面贴的官网注册一个,用时约1分钟

    $ cert-tool -username="UOS帐号" -password="UOS密码"
    # UOS帐号和UOS密码为UOS官方网站https://www.chinauos.com/中注册的帐号和密码

     

    第三步,deb包签名

    这一步是选择未签名的deb包,对deb包进行签名。

    首先进入要签名的deb包路径的文件夹下,打开终端。

    进入要签名的deb包路径的文件夹下,打开终端
    $ deepin-elf-sign-deb 要签名的deb包路径
    举例:deepin-elf-sign-deb com.xxx.xxx

    说明:deb包签名后,会在待签名的deb包目录下创建signed_deb目录,该目录下放置已完成签名的deb包文件。


    deb包签名-验证签名。(这一步可以不做)
    进入已完成deb签名包的绝对路径,也就是signed_deb目录下打开终端,进行验证。

    $ deepin-deb-verify [包路径]
    比如:
    deepin-deb-verify com.xxx.xx.xxx
    

    看到有success就说明成功了,接下来就可以安装了。 


     

    第四步、安装已签名deb包

    对已签名的deb包进行安装。

    有两种方式安装: 

    1.双击已签名deb包或者打开软件包安装器进行安装;

    2.使用命令行进行安装,执行命令:

    $ deepin-deb-installer [参数]
    # [参数]:已签名的deb包文件路径

    展开全文
  • 数字签名和数字证书

    2013-05-11 19:21:20
    用图文的方式对数字签名和数字证书之间的关系进行一个详细说明、希望大家看后恍然大悟。我目前正在用C#做证书和签名这块,但进展十分不畅,如果哪位朋友有好的方法或者示例,请私联系
  • 全开源超级签名系统/APP分发系统/源码附带部署文档加教程 别人的东西,买的时候好几千,带完整的文档教程,源码全开源的 测试了下可以正常搭建,其他的没有配置,别问我为什么不能上传,环境都没配置,需要的拿吧 ...
  • 签名证书是由不受的CA机构颁发的数字证书,也就是自己签发的证书。与受信任的CA签发的传统数字证书不同,自签名证书是由一些公司或软件开发商创建、颁发和签名的。虽然自签名证书使用的是与X.509证书相同的加密...
  • Android使用SSL自签名证书

    千次阅读 2021-11-09 00:54:37
    一般情况下公司都是通过CA机构来购买SSL证书,但是这种证书费用普遍比较贵,所以在debug环境下可以考虑使用自签名证书。这篇内容将介绍Android如何使用自签名证书,主要分为以下4个步...
  • 64位驱动签名工具64Signer

    千次阅读 2021-01-06 08:41:45
    微软对于自Vista开始的64位OS有新的数字签名策略,即所有内核驱动都必须是经过可信机构签发过数字证书的,否则系统拒绝加载。此策略的目的是加强系统安全防护,使得一干惯于偷偷摸摸、底细不清的内核模块无法在系统...
  • 这篇文章将通过一个具体的例子来说明使用OpenSSL数字签名与验证的过程。
  • python实现RSA数字签名(纯算法实现)

    千次阅读 多人点赞 2022-01-14 19:22:56
    利用python实现RSA数字签名(纯算法实现),用到的hash256得到消息摘要,欧几里得,扩展欧几里得算法
  • 最近公司开发的钉钉小程序要求手写签名,写了一个,先看效果吧,微信小程序也能用。 ####第一步,页面布局 从网上找了个手写签名的例子复制一下修改修改,直接贴代码: //布局代码 <view class="wrapper"> ...
  • 哈希函数和数字签名

    千次阅读 2021-09-13 18:54:27
    目录1 哈希函数 Hash1.1 构造方法1.2 哈希函数在密码学的应用2 数字签名2.1 签名--认证流程2.2 一个生动形象的例子 在讲数字前面以前,我们先要了解一下哈希函数 1 哈希函数 Hash Hash,一般翻译做散列、杂凑,或...
  • 邮件签名

    2020-10-06 14:35:36
    邮件签名 Html格式可让签名非常酷炫; 针对不同邮箱设置不同签名; 针对不同动作设置不同签名。 设置入口 客户端首页中常用功能区 左侧栏工具集 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存...
  • 2022年外贸公司邮箱签名怎么设置?

    千次阅读 2022-03-02 14:41:30
    外贸企业邮箱支持签名设置吗?在TOM企业邮箱可以个性化设置签名,现在开通买几年送几年,手机邮箱收发邮件,删除邮件能找回,超多实用办公功能帮助企业员工提高工作效率。
  • 在机会波束形成进行自适应信道截断的基础上,使各通信用户的干噪比(SINR)相同,改善了系统的误比特率性能。仿真结果表明,总的用户数为30时,系统误比特率性能提高3~4 dB。信道反演比注水功率分配简单,降低了...
  • ”(签名类型:青春,校园)我什么都没有,只有一颗Xin .(签名类型:英文)青春永远只是那一瞬间,永生永远只是一时间..(签名类型:伤感,哲理)我爱你,可你永远也不会知道(签名类型:暗恋,不珍惜,不珍惜我的人,给你机会你...
  • 签名验签服务器签名验签服务器是卫士通依据国密局、工部、公安部等主管单位的相关标准规范,自主研发的新一代数字签名服务器,具有完全独立知识产权并获得多项专利证书,采用自主可控硬件平台、密码卡、操作系统,...
  • 签名验签的理解

    2022-06-23 12:45:40
    公钥私钥签名验签
  • ios应用签名

    千次阅读 2020-01-01 18:08:58
    关于iOS应用签名我想一起探讨一下它的原理. https://www.jianshu.com/p/02034d1a91b5, 首先我们需要了解一个东西,叫做数字签名 数字签名(digitally signed) 名词解释:为什么用签名这个词....想要证明数字...
  • 每个随机数据标都由其公钥标识,并且可以使用此公钥来验证与随机数据相关联的签名,因此可以确保数据来自其声称的来源。 标生成的每个Skynet注册表项都可以从用作API端点的一致URL中进行访问。 要获取每个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,641
精华内容 10,256
关键字:

信签名