2018-2019-2 网络对抗技术 20165303 Exp4 恶意代码分析

实践目标

1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

实验内容

  • 一.系统运行监控(2分)

    (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

    (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

  • 二.恶意软件分析(1.5分)

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

(3)读取、添加、删除了哪些注册表项

(4)读取、添加、删除了哪些文件

(5)连接了哪些外部IP,传输了什么数据(抓包分析)

课后问题

  • (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

首先就是监控自己系统中有哪些程序在运行,每个五分钟或者十分钟检查一下系统中有哪些应用程序的进程,但是这个时间间隔也有可能会错过一些进程,比如说每隔一小时才启动一次的程序,有可能不会被记录下来,要是他启动时间特别短的话,还有就是监控一下远程连接的IP地址和自己的IP地址,看一下连接到了哪里,再看一下端口号,看看是那些应用程序在使用端口。

  • (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

1.使用sysmon工具监控系统 2.使用VirusTotal分析恶意软件 3.使用Process Monitor分析恶意软件Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动 4.使用Process Explorer分析恶意软件Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。5.使用PEiD分析恶意软件PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。6.使用systracer分析恶意软件

实验过程与内容

实验一 使用schtasks指令监控系统

  • 使用管理员权限创建任务,命令如下schtasks /create /TN netstat5303 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"命令创建计划任务netstat5303
    1296850-20190403223148861-108131546.png
  • 其中,TN是TaskName的缩写,我们创建的计划任务名是netstat5303;sc表示计时方式,我们以分钟计时填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。
  • 在C盘先创建一个TXT文件,然后把如下代码写入
    date /t >> c:\netstat5303.txt time /t >> c:\netstat5303.txt netstat -bn >> c:\netstat5303.txt
  • 然后修改后缀名改为.bat,使其成为一个脚本文件,我改的是netstat5303.bat
    1296850-20190403223610521-407286067.png
  • 打开我的电脑,右键单击管理,点击任务计划管理,再点击任务计划程序库就可以看到自己刚刚创建的任务计划
    1296850-20190403223811388-1204403470.png
  • 双击任务点击编辑,将“程序或脚本”改为我们创建的netstat5303.bat批处理文件,确定即可。添加参数那里需要把其他的数据都删掉,在首界面要点击使用最高权限运行,否则的话就可能在C盘中无法创建TXT文件,因为权限不够,无法写入
    1296850-20190403224258660-481562930.png
  • 任务还有其他属性,比如默认操作为“只有在计算机使用交流电源时才启动此任务”,所有说在使用电池的时候你是无法启动此任务的,这点要注意
  • 执行此任务一段时间后你就会在C盘里面看见自己创建的netstat5303.txt
    1296850-20190403224701828-1360894319.png
  • 然后在Excel中把自己的数据进行系统性的分析,首先导入数据,点击数据,选择来自文本,找到自己的TXT,导入进去
    1296850-20190403225453493-1614448320.png
  • 选择分隔符号,可以直接从第十行开始导入
    1296850-20190403225547227-266626447.png

  • 分隔符号选为tab键和空格键

1296850-20190403225646072-358026117.png

  • 列数据格式选为常规就可以了
    1296850-20190403225718815-838847345.png
    然后就可以看到自己所创建的表格了,非常整齐
    1296850-20190403230028064-735785876.png
  • 对表格进行统计做一些数据透视图,然后就可以更直观的看到那些应用程序进行了链接
    1296850-20190404154413251-1569435450.png
  • 从数据里面看到发现winstore链接的次数最多,可能是因为我在后台下载win10商店游戏的缘故
  • 接下来的程序就是kbasesrv.EXE 他是金山旗下的一个软件程序。该程序由金山旗下软件静默下载安装到电脑里,使用特定参数启动并篡改首页。用户双击打开桌面的快捷方式,会启动IE浏览器并访问毒霸网址大全。但是我已经在好几天前就已经把金山毒霸给卸载了,没想到他还在启动某些服务,说明卸载没有卸载完全,让人细思极恐,可以想象我们以前安装的软件好多都卸载不干净,然后就会导致系统运行的越来越慢。
  • 在接下来的就是QQ浏览器了,因为我用的就是QQ浏览器,做实验的时候看一下参考,所以他在链接也比较正常了
  • 在接下来的就是迅雷了,但是我明明没有启动迅雷,但是他却在运行,这就让人琢磨不透了,他究竟是如何启动的,什么时候启动的。
  • 下面一张图就是本地链接的地址了
    1296850-20190404155337114-1905913835.png
    可以看到用的最多的就是127.0.0.1和192.168.1.155这应该是我的本机的地址
  • 再下来就是我的电脑连接的外部的IP地址了
    1296850-20190404160130467-1687270774.png
  • 发现链接的最多的就是60.221.218.74放到百度看一下这是哪里,这是山西临汾的一个地址

1296850-20190404160326208-203838761.png

  • 接下来的121.29.54.199这是河北省石家庄市 联通不是太能看出来究竟是哪里的服务器
    这个实验到这里基本上就结束了

实验二 系统监控——Sysmon工具

  • Sysmon是微软Sysinternals套件中的一个工具,能监控几乎所有的重要操作。
  • 首先我们根据实验指导书中的链接下载一下Sysinternals套件,下载下来之后解压到c盘或者什么地方都可以,只要方便即可
  • 接下里,我们来新建并编辑配置文件C:\20165303.xml exclude相当于白名单,里面的程序或IP不会被记录,include相当于黑名单,可以把自己想监控的写到黑名单中~
  • 这是我编辑的我自己的xml文件
<Sysmon schemaversion="3.10"><!-- Capture all hashes --><HashAlgorithms>*</HashAlgorithms><EventFiltering><!-- Log all drivers except if the signature --><!-- contains Microsoft or Windows --><DriverLoad onmatch="exclude"><Signature condition="contains">microsoft</Signature><Signature condition="contains">windows</Signature></DriverLoad><NetworkConnect onmatch="exclude"><Image condition="end with">chrome.exe</Image><Image condition="end with">iexplorer.exe</Image><SourcePort condition="is">137</SourcePort><SourceIp condition="is">127.0.0.1</SourceIp></NetworkConnect><CreateRemoteThread onmatch="include"><TargetImage condition="end with">explorer.exe</TargetImage><TargetImage condition="end with">svchost.exe</TargetImage><TargetImage condition="end with">winlogon.exe</TargetImage><SourceImage condition="end with">powershell.exe</SourceImage></CreateRemoteThread></EventFiltering>
</Sysmon>

1296850-20190404161606225-8631388.png

  • 接下来使用命令sysmon.exe -i C:\20165303.xml进行Sysmon的配置更新与启动
    1296850-20190404161759220-1437026894.png
  • 这是配置好的截图,可以看到各种命令参数。
  • 接下来在win10环境下,左下角开始菜单右击开始——事件查看器——应用程序和服务日志——Microsoft————Windows——Sysmon——Operational。这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。
    1296850-20190404162301220-162963094.png
  • 不同的事件有不同的识别码
    事件识别码1 :进程建立 事件识别码2 :进程更改了文件创建时间 事件识别码3 :网络连接 事件识别码4 : Sysmon服务状态已变更 事件识别码5 :进程已终止 事件识别码6 :已载入驱动程式 事件识别码7 :已载入影像 事件识别码8 :创建远程线程 事件识别码9 : RawAccessRead 事件识别码10 :进程访问 事件识别码11 :文件创建 事件识别码12 :注册事件(创建和删除对象) 事件识别码13 :注册事件(值集) 事件识别码14 :注册事件(键和值重命名) 事件识别码15 :文件创建流哈希 事件识别码255 :错误

  • 观察一个事件识别码为3的详细信息,可以看到这是一个有关QQ浏览器网络连接的事件
    1296850-20190404162857264-1010425176.png

  • 观察一个事件识别码为5的详细信息,可以看到这是一个有关搜狗输入法的进程终止事件,可以想一下,应该是输入终止了,然后搜狗输入法结束了输入进程
    1296850-20190404163039238-830626616.png

  • 在观察一个事件识别码为1的详细信息,可以看到这是有关QQ浏览器的进程建立的事件,应该就是qq浏览器重新进行了唤醒,然后建立了进程
    1296850-20190404163233223-1720455860.png

  • 然后我们打开我们的kali虚拟机,然后使用我们实验三中的后门文件进行回连,然后观察回连成功后的日志
    1296850-20190404163251278-990306280.png

  • 可以看到20165303wy.EXE后门程序创建了网络连接,这应该就是后门回连的时候创建的网络连接使用tcp连接,连接的目的IP地址为192.168.1.154,正是我的kali虚拟机的IP地址,端口也是我设置的5303端口,这详细而又充分的体现了我们通过后门程序控制windows的过程!
    1296850-20190404163535234-207035753.png

  • 接下来我们进行拍照看一下又创建了哪些进程,从图上看到,启动了driver,这应该是驱动进程,我猜想应该是启动了相机的驱动程序,而且他的事件识别码也是6,已载入驱动程式
    1296850-20190404163827220-40278103.png

  • 接下来进行截屏的操作,从图上看出来进行了网络连接,应该是截了屏之后把数据传过去了,所以才会有网络连接,事件识别码3 :网络连接
    1296850-20190404164337264-812709524.png

这个实验差不多也分析完了,比较简单的可以分析出来究竟他干了些什么,但是更深层次的就不是那么容易分析了

实验三 恶意软件分析

先把自己的后门软件丢到网站上看一下究竟怎么样,发现能被检测出来的概率还是挺大的

1296850-20190404165113211-1904985096.png

使用systracer进行分析

  • 首先下载systracer,在网上找了一个中文版的,哈哈哈英文版看不太懂https://pan.baidu.com/s/17z9wW_ieYEJCJfz7ky8PQA#list/path=%2Fsharelink3890020941-823790193933702%2F20451&parentPath=%2Fsharelink3890020941-823790193933702这是百度云的链接,想要的同学可以直接下载一下就能用了
  • 我是在win7虚拟机和kali里面做的,英win7虚拟机的文件比较少,扫描的时候花的时间更短,这是在程序运行的截图
    1296850-20190404165521226-1955233231.png
  • 点击创建快照,若如下图没有全选,可以选择——仅扫描指定项,然后将下面的全选,之后就可以点击开始啦,接着等一会,扫描结束之后会弹出一个框,点击OK,快照就会自己保存下来
    1296850-20190404165612212-2035457672.png
  • 我们可以进行以下操作进行对比操作
    在win7虚拟机安装SysTracer软件后保存快照,命名为Snapshot #1 将木马植入靶机,对靶机注册表、文件等进行快照,保存为Snapshot #2 打开kali的msfconsle,靶机运行木马,回连kali,win7下再次快照,保存为Snapshot #3 在kali中对靶机进行屏幕截图,win7下再次快照,保存为Snapshot #4 在kali中对靶机进行提权操作,win7下再次快照,保存为Snapshot #5
    1296850-20190404165849216-312268558.png
    1296850-20190404165857213-1273137683.png
    1296850-20190404165902214-954365732.png

  • 接下来点击右下角的比较,看一下究竟有什么变化
  • 这是注册表的变化,在进行kali回连的时候他对很多注册表项都进行了改变
    1296850-20190404170056219-385726574.png
  • 这是文件的变化,发现也有不少文件发生了变化,尤其是20165303wy.exe,这是我电脑中的后门文件
    1296850-20190404175914229-748454356.png

  • 在下面就是应用程序的变化,主要的还是我的后门程序的变化20165303wy.exe
    1296850-20190404180104102-770242089.png

接下来用wireshark抓包分析连接了哪些外部IP,传输了什么数据

  • 设置主机host为192.168.1.154,我的kali虚拟机的IP地址,然后回连看抓到了哪些东西
    1296850-20190404185447255-1314778456.png
  • 发现大部分的包都是请求的tcp三次握手请求建立的包,可能他是在大量的发送请求命令然后进行连接
    1296850-20190404185624492-399222396.png
  • 然后打开一个命令包看看里面到到底有什么,发现果然就是一些建立连接的内容三次握手包
    1296850-20190404185738743-981988534.png
  • 然后进行截屏或者录像等操作,看看抓了什么
    1296850-20190404193724583-883843452.png
    还是一些tcp连接请求包
    1296850-20190404193745149-564894464.png

  • 再来看一下具体内容,发现也是一些tcp传输数据
    1296850-20190404193835858-1362594407.png

下面我们用peid文件格式识别(peid工具)来分析一下

1296850-20190404200459355-699711627.png

  • 发现查到了加壳upx1
    还发现有的并没有发现加壳,但是我是加了的

1296850-20190404200725811-1239251051.png
有的也没有被查到,哈哈哈哈

然后用pe explorer分析一下,发现还有点看不太懂

1296850-20190404201654494-559342091.png

使用Process Explorer分析恶意软件

  • 由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。

  • 靶机运行后门程序进行回连的时候可以看的到20165303wy程序进行了运行,还有他的子程序conhost也进行了运行
    1296850-20190405210436077-1145532400.png
  • 下面这是程序的详细信息
    1296850-20190405210731143-609824934.png

  • 这个软件还可以让我们进行系统资源的监控,类似于Windows的资源监控器
    1296850-20190405210744305-1665845909.png

使用Process Monitor进行分析

Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。

  • 运行后门程序进行回连下面是找到这个程序的截图,不得不说找了费老半天劲
    1296850-20190405211703197-742326078.png

  • 进程的详细信息如下
    1296850-20190405211724131-1664714447.png

  • 这是这个后门程序引用的各种其他的库
    1296850-20190405211755800-445663698.png

实验中遇到的问题

  • 首先就是无法生成netstat5303的问题,就是在C盘里权限不够,无法写入,你需要加一个在最高权限下运行就可以成功创建.txt文件了
  • 然后就是在Excel中无法创建数据透视图的问题,由于自己Excel知识没有学好,所以需要在百度现学习,尤其是怎么统计链接数量那里搞了好久
  • 再有就是Sysmon软件老是安装不成功,可能是因为我没有按管理员权限运行的结果
  • 还有就是systracer软件里面东西太多,无法靠自己来充分理解里面的变化,只能是知道里面有哪些发生了变化,而且刚开始在win10主机里做的时候,win10系统太庞大,扫描一次要花费很长时间,所以后来移到了虚拟机中

实验总结与体会

本次实验让我对电脑中的恶意软件进行了分析,首先让我感触很深 的就是金山毒霸,因为上次实验要用,所以下载了这个金山毒霸,一般我的电脑是不想装杀毒软件的,但是我在后来卸载了以后还是有金山毒霸的进程在系统中频繁的运行,所以说很多杀毒软件就是恶意软件,还有一些软件就是频繁的自启动并且进行网络连接,再有通过后门恶意软件分析,知道了后门软件还是可以通过监控发现的,他们修改通过注册表和一些文件的变化来达到自己的目的,这次实验让我从攻击者的身份转变到了分析者,这个感觉很奇妙,让我明白了这些恶意软件到底是如何通过什么方式进行运行的,收获非常大。

转载于:https://www.cnblogs.com/Vventador/p/10652292.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二十一期:老大难的GC原理及调优,这全说清楚了

本文介绍 GC 基础原理和理论&#xff0c;GC 调优方法思路和方法&#xff0c;基于 Hotspot jdk1.8&#xff0c;学习之后你将了解如何对生产系统出现的 GC 问题进行排查解决。 本文介绍 GC 基础原理和理论&#xff0c;GC 调优方法思路和方法&#xff0c;基于 Hotspot jdk1.8&…

[剑指offer]面试题第[47]题[JAVA][礼物的最大价值][动态规划]

【问题描述】[中等] 【解答思路】 1动态规划 动态规划流程 第 1 步&#xff1a;设计状态 f(i, j)f(i,j) 为从棋盘左上角走至单元格 (i ,j)(i,j) 的礼物最大累计价值 第 2 步&#xff1a;状态转移方程 f(i,j)max[f(i,j−1),f(i−1,j)]grid(i,j) 第 3 步&#xff1a;考虑初始化…

第二十四期:揭秘:为什么电脑越用越卡 大型破案现场

今天谈一个大家都好奇地问题&#xff0c;为什么电脑越来越卡&#xff0c;相信大家都深有体会&#xff0c;好好的电脑刚买的时候像火箭&#xff0c;现在怎么就支棱不起来了呢&#xff0c;是老了么? 今天谈一个大家都好奇地问题&#xff0c;为什么电脑越来越卡&#xff0c;相信大…

[Leetcode]第[43]题[JAVA][字符串相乘][字符串相加]

【问题描述】[中等] 【解答思路】 1. 普通竖式 **复杂度&#xff1a;O(N^2) ** class Solution {/*** 计算形式* num1* x num2* ------* result*/public String multiply(String num1, String num2) {if (num1.equals("0") || num2.equals("0")) …

第七期:详解JavaScript运行机制(Event Loop)

在浏览器中,每个渲染进程都有一个主线程,主线程非常繁忙&#xff0c;既要处理DOM&#xff0c;又要计算样式&#xff0c;还要处理布局&#xff0c;同时还需要处理JavaScript任务以及各种输入事件。此时我们就需要一个系统来统筹调度这么多不同类型的任务在主线程中有条不紊地执行…

[剑指offer]面试题第[45]题[JAVA][把数组排成最小的数][快排][ Comparator][PriorityQueue]

【问题描述】[中等] 【解答思路】 1. 快速排序 时间复杂度&#xff1a;O(N^2) 空间复杂度&#xff1a;O(1) class Solution {public String minNumber(int[] nums) {String[] strs new String[nums.length];for(int i 0; i < nums.length; i)strs[i] String.valueOf(num…

div覆盖div DIV相互重叠如何解决

转载出处&#xff1a;http://www.divcss5.com/rumen/r674.shtml div覆盖div,出现div与div盒子之间产生重叠覆盖现象&#xff0c;而内容没有出现覆盖重叠现象原因与解决方法。DIVCSS5通过CSS图文案例介绍产生原因与解决方法。DIV与DIV覆盖原因与解决方法。 可能您遇到过上下结…

第二十五期:5G预约用户超千万!是“虚火”还是“真旺”?

十一假期刚过&#xff0c;“中国5G套餐预约数已超千万”的消息就迅速在朋友圈刷屏&#xff0c;这一庞大的数字背后&#xff0c;也引发了业界关于5G市场的种种思考和担忧&#xff1a;预约热闹过后真正的5G用户会有多少?暂时不选择5G的用户有何顾虑? 十一假期刚过&#xff0c;“…

oracle索引

简介 1.说明 1&#xff09;索引是数据库对象之一&#xff0c;用于加快数据的检索&#xff0c;类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量&#xff0c;类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。 2&#xff09;索引…

第八期:实操:两台路由器,如何分别通过WAN和LAN口连接?

两个路由器在一个网段内IP地址是一样的&#xff0c;两个路由器连接有两个DHCP服务器共同工作所以IP会产生冲突。下面我们来一起看下分别通过WAN口和LAN口怎么连接。 两个路由器在一个网段内IP地址是一样的&#xff0c;两个路由器连接有两个DHCP服务器共同工作所以IP会产生冲突。…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第15篇]RSA-OAEP和ECIES的密钥生成,加密和解密

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇总是为了让博士生们在第一年结束时知道些什么。通过描述RSA-OAEP和ECIES的密钥生成、加密和解密算法&#xff0c;我们回到了"more crypto" staff …

第二十六期:HTTP 3的前世今生及尝鲜

HTTP/3又迎来一个里程碑&#xff1a;近日Cloudflare官方宣其边缘网络上已全面提供QUIC和HTTP/3支持。那么HTTP/3可以带来哪些变化和优势呢? 对Internet的用户&#xff0c;并且通过浏览器和其他客户端与站点进行高效交互。 HTTP/3又迎来一个里程碑&#xff1a;近日Cloudflare官…

前端中标签页的手写方法

虽然流行用框架写出来 这里也可以用手写方法写出来 也并不是这么复杂 首先为了实现如下效果的标签 我们可以在前端把两个表直接输出出来 <table class "tag char" id "tagf" ><tr><td>Found</td><td>Found time</td&…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第16篇]描述DSA、Schnorr和RSA-FDH的密钥生成、签名和验证算法。

这是一系列博客文章中最新的一篇&#xff0c;文章的主题是“做密码学每个博士生都应该知道的52件事”。这一系列问题是为了让博士生们在第一年结束时了解他们应该知道的事情。本周我们将介绍DSA、Schnorr和RSA-FDH的密钥生成、签名和验证算法。 1.DSA 2.Schnorr 3.RSA-FDH Refe…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第17篇]述和比较DES和AES的轮结构

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。这周&#xff0c;我们描述和比较DES和AES轮结构。 DES和AES都是迭代分组密码的例子.分组密码通过重复使用一个…

UML用例图

统一建模语言&#xff08;Unified Modeling Language&#xff0c;UML&#xff09;又称标准建模语言&#xff0c;是始于1997年的一个OMG标准&#xff0c;它是一个支持模型化和软件系统开发的图形化语言&#xff0c;为软件开发的所有阶段提供模型化和可视化支持&#xff0c;包括由…

[剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]

【问题描述】[中等] 【解答思路】 找规律 时间复杂度&#xff1a;O(logN) 空间复杂度&#xff1a;O(logN) class Solution {public int findNthDigit(int n) {int digit 1;long start 1;long count 9;while (n > count) { // 1.n - count;digit 1;start * 10;count di…

[Letcode]第[34]题[JAVA][在排序数组中查找元素的第一个和最后一个位置][暴力][二分]

【问题描述】[中等] 【解答思路】 1. 线性扫描&#xff08;不符合题意&#xff09; 时间复杂度&#xff1a;O(N) 空间复杂度&#xff1a;O(1) class Solution {public int[] searchRange(int[] nums, int target) {int[] targetRange {-1, -1};// find the index of the lef…

[剑指offer]面试题第[41]题[Leetcode][第235题][JAVA][数据流中的中位数][优先队列][堆]

【问题描述】[困难] 【解答思路】 1. 思路1 时间复杂度&#xff1a;O(logN) 空间复杂度&#xff1a;O(N) import java.util.PriorityQueue;public class MedianFinder {/*** 当前大顶堆和小顶堆的元素个数之和*/private int count;private PriorityQueue<Integer> maxh…

SpingBoot+Mybaits+Vue,更新学习

1.DTO 2.实体类 3.Controller层&#xff0c;UpdatePrize/{id}为接口 4.Service层 5.Impl实现层 之后就可以更新数据了。6.Vue链接接口 7.请求&#xff0c;解析&#xff0c;返回值 8.init方法&#xff0c;初始化使用 增删查与更相仿&#xff0c;只是实现层方法不同增加实现层中的…