揭开勒索软件的真面目

一、前言

2013年9月,戴尔公司的SecureWorks威胁应对部门(CTU)发现了一种名为“CryptoLocker”的勒索软件,它以邮件附件形式分发,感染计算机并加密近百种格式文件(包括电子表格、数据库、图片等),向用户勒索300美元或300欧元。据统计,仅在最初的100天时间内,该勒索软件就感染了20万至25万个系统。[1]

2014年8月,《纽约时报》报道了这样一则消息:一种名为“ScarePackage”的勒索软件在一个月的时间内感染了约90万部Android手机,该软件不仅会访问手机的摄像头、电话功能,还会在手机屏幕弹出消息,指责手机用户传播色情内容,手机用户只有支付了几百美元的“赎金”才能正常使用手机。[2]

2014年12月,安全公司Sophos和ESET的研究人员发现了一种可以自我复制的勒索软件(VirLock,又称VirRansom),该软件不仅会加密受害主机的文档、图片、音频、视频和压缩文件,同时还会使计算机“锁屏”,并以侵犯著作权为由,向计算机用户索要0.652个比特币[3](根据本文撰写时的比特币兑换价格,约合1027元人民币)。

对于传统的感染式病毒,未安装反病毒软件的用户会因中毒而导致系统程序和应用程序被感染,不过一般可以通过重新安装操作系统和应用程序解决问题;对于远程控制类木马,用户可以采用临时断开网络的办法,暂时摆脱攻击者的远程控制。但是,如果计算机上的照片被勒索软件加密,用户很可能会彻底失去一段美好的回忆;如果被加密的是急需使用而又没有备份的毕业论文、重要资料,恐怕用户也只好向犯罪分子屈服,乖乖地支付赎金。勒索软件为何如此猖狂?它是如何向用户进行勒索的?我们又该如何检测与预防这类威胁?本文将全面介绍勒索软件的传播手段、攻击流程及防御方法,彻底揭开勒索软件的真面目。

1.1 何谓勒索软件

勒索软件(Ransomware)是一种流行的木马,通过骚扰、恐吓甚至采用绑架用户文件等方式,使用户数据资产或计算资源无法正常使用,并以此为条件向用户勒索钱财。这类用户数据资产包括文档、邮件、数据库、源代码、图片、压缩文件等多种文件。赎金形式包括真实货币、比特币或其它虚拟货币。一般来说,勒索软件作者还会设定一个支付时限,有时赎金数目也会随着时间的推移而上涨。有时,即使用户支付了赎金,最终也还是无法正常使用系统,无法还原被加密的文件。

1.2 主要传播手段

勒索软件的传播手段与常见的木马非常相似,主要包括以下几种:

  1. 借助网页木马传播,当用户不小心访问恶意网站时,勒索软件会被浏览器自动下载并在后台运行;
  2. 与其他恶意软件捆绑发布;
  3. 作为电子邮件附件传播;
  4. 借助可移动存储介质传播。

1.3 主要表现形式

一旦用户受到勒索软件的感染,表现形式通常包括以下几种:

  1. 锁定计算机或移动终端屏幕;
  2. 借杀毒软件之名,假称在用户系统发现了安全威胁,令用户感到恐慌,从而购买所谓的“杀毒软件”;
  3. 计算机屏幕弹出如图1所示的提示消息,称用户文件被加密,要求支付赎金。

揭开勒索软件的真面目

图 1勒索软件弹出的提示消息

2 勒索软件的分类

根据勒索软件所使用的勒索方式,其主要分为以下三类:

1. 影响用户系统的正常使用的勒索软件

比如PC Cyborg、QiaoZhaz(Trojan/Win32.QiaoZhaz)等,其会采用锁定系统屏幕等方式,迫使系统用户付款,以换取对系统正常使用的权限。

2. 恐吓用户的勒索软件

比如FakeAV(Trojan[Ransom]/Win32.FakeAV)等,会伪装成反病毒软件,谎称在用户的系统中发现病毒,诱骗用户付款购买其“反病毒软件”。又如Reveton(Trojan[Ransom]/Win32.Foreign),会根据用户所处地域不同而伪装成用户所在地的执法机构,声称用户触犯法律,迫使用户支付赎金。

3. 绑架用户数据的勒索软件

这是近期比较常见的一种勒索方式,最典型的是CTB-Locker家族(Trojan[Ransom]/Win32.CTBLocker),其采用高强度的加密算法对用户文档进行加密,只有在用户支付赎金后,才提供解密文档的方法。

根据上述勒索软件的分类方法,结合其具体行为、运行平台,可将勒索软件整理如下表:

表 1 勒索软件分类表

揭开勒索软件的真面目

3 勒索软件的演进史

3.1 几种典型勒索软件家族的出现

  • 最早的勒索软件

已知最早的勒索软件出现于1989年,名为“艾滋病信息木马”(Trojan/DOS.AidsInfo,亦称“PC Cyborg木马”),其作者为Joseph Popp。该木马程序以“艾滋病信息引导盘”的形式进入系统,采用替换AUTOEXEC.BAT(DOS系统文件,位于启动盘根目录,文件为文件格式,用于描述系统启动时自动加载执行的命令)文件的方式,实现在开机时记数。一旦系统启动次数达到90次时,该木马将隐藏磁盘的多个目录,C盘的全部文件名也会被加密(从而导致系统无法启动)。此时,屏幕将显示信息,声称用户的软件许可已经过期,要求用户向“PC Cyborg”公司位于巴拿马的邮箱寄去189美元,以解锁系统。作者在被起诉时曾为自己辩解,称其非法所得用于艾滋病研究。

  • 专门仿冒反病毒软件的勒索软件

2001年,专门仿冒反病毒软件的恶意代码家族(Trojan[Ransom]/Win32.FakeAV)出现,并于2008年左右开始在国外流行。该恶意代码家族的界面内容为英文,又因为当时国内部分反病毒厂商已经开始采用免费的价格策略,所以该恶意代码家族在国内不容易得逞,对国内影响相对较小。FakeAV在伪装成反病毒软件欺骗用户的过程中,所使用的窗体标题极具迷惑性。据安天CERT统计,其标题有数百种之多,常用标题如表2所示:

表 2 FakeAV常用标题

揭开勒索软件的真面目
  • 加密用户文件的勒索软件

2005年出现了一种加密用户文件的木马(Trojan/Win32.GPcode)。该木马在被加密文件的目录生成具有警告性质的txt文件,要求用户购买解密程序。所加密的文件类型包括:.doc、.html、.jpg、.xls、.zip及.rar。

  • 国内首个勒索软件

2006年出现的Redplus勒索木马(Trojan/Win32.Pluder),是国内首个勒索软件。该木马会隐藏用户文档和包裹文件,然后弹出窗口要求用户将赎金汇入指定银行账号。据国家计算机病毒应急处理中心统计,来自全国各地的该病毒及其变种的感染报告有581例。在2007年,出现了另一个国产勒索软件QiaoZhaz,该木马运行后会弹出“发现您硬盘内曾使用过盗版了的我公司软件,所以将您部分文件移动到锁定了的扇区,若要解锁将文件释放,请电邮liugongs19670519@yahoo.com.cn购买相应软件”的对话框。

3.2 赎金支付方式的变化

早期的勒索软件采用传统的邮寄方式接收赎金(比如Trojan/DOS.AidsInfo),会要求受害者向指定的邮箱邮寄一定数量的赎金。我们也发现了要求受害者向指定银行账号汇款(比如Trojan/Win32.Pluder)和向指定号码发送可以产生高额费用的短信(比如Trojan[rog,sys,fra]/Android.Koler)的勒索软件。直到比特币(比特币是一种P2P形式的数字货币,可以兑换成大多数国家的货币)这种虚拟货币支付形式出现后,由于它可以为勒索软件提供更为隐蔽的赎金获取方式,2013年以来,勒索软件逐渐采用了比特币为代表的虚拟货币的支付方式。可以说,虚拟货币的出现,加速了勒索软件的泛滥。

3.3 移动终端的勒索软件

2014年4月下旬,勒索软件陆续出现在以Android系统为代表的移动终端。较早出现的为Koler家族(Trojan[rog,sys,fra]/Android.Koler)。该家族主要行为是:在用户解锁屏及运行其它应用时,会以手机用户非法浏览色情信息为由,反复弹出警告信息,提示用户需缴罚款,从而向用户勒索高额赎金。近两年的移动平台勒索软件家族样本中,东欧和俄罗斯所占比例最多,达到59%,其次是英、美和中国。从下图可以看到安天从各国捕获的移动终端勒索软件家族的比例,其中simplelock.a类所占比例接近总数的一半。

揭开勒索软件的真面目

图 2移动终端的勒索软件

典型的移动终端勒索软件家族如表3所示:

表 3移动终端的典型勒索软件家族

揭开勒索软件的真面目

3.4 新的威胁趋势

2015年1月,Cryptowall家族新变种(3.0)被发现使用I2P匿名网络通信,在一天内感染288个用户,该变种在加密受害者的文件后,向其勒索比特币,同时还有直接窃取用户比特币的行为。2月和4月新出现的勒索软件家族TeslaCrypt和Alpha Crypt,被发现利用了Adobe新近修复的Flash安全漏洞。同样利用这些漏洞还有CTB-Locker、CryptoWall、TorrentLocker、BandarChor、Angler等家族。其中最为值得关注的是CTB-Locker,它使用了高级逃逸技术,可以躲避某些安全软件的检测。

2015年4月30日,安天CERT曾接到用户提供的含有CTB-Locker的邮件附件,用户称已将该附件提交至第三方开放沙箱,怀疑其具有专门攻击国产办公系统的行为。经安天CERT分析确认,在该样本中并未发现针对国产办公环境的攻击能力。但随着勒索软件的持续泛滥和攻击手段的花样翻新,不能排除未来会出现专门针对我国办公环境的勒索软件。从目前获取的勒索软件新家族看,多数仍是采用社工手段群发邮件,但这些邮件往往紧随潮流趋势,令人防不胜防。比如:据threatpost报导,CTB_Locker家族已经开始采用包含“Windows 10免费升级”(Upgrade to Windows 10 for free)标题的社工邮件传播。

3.5 小结

从最早的“艾滋病信息木马”到最近出现的Locker勒索软件,二十几年的时间里,虽然勒索软件的新家族层出不穷,但主要的勒索方式仍以绑架用户数据为主。图3展示了1989年到2015年间勒索软件的演进史,在图片左侧标明了几个重要的时间点,从图中可以看出随着Android平台的日益普及,面向移动终端的勒索软件也日渐增多;随着比特币的广泛应用,以比特币代为赎金支付形式的勒索软件也逐渐多了起来。

 

4 典型勒索软件家族分析

勒索软件的本质是木马,下面以几个典型勒索软件家族为例,详细地介绍其勒索过程,力求揭开勒索软件的真面目。

4.1 Redplus

安天在2006年6月9日捕获了国内最早出现的Redplus敲诈者木马,该木马会隐藏用户的文档文件,向用户勒索70元至200元不等的赎金。Redplus木马运行后首先弹出虚假正版软件的对话框,点击OK后,会弹出勒索窗口。其主要行为流程如下:

揭开勒索软件的真面目

图 4 Redplus木马主要行为流程

Redplus木马勒索70元至200元之间的一个赎金数目,并将赎金数编辑到需要发送的短信中,如(赎金数=70,需要发送的短信内容为=000000120209011000061010#70)。

Redplus木马为达到目的,生成的文本文件内容如下:

揭开勒索软件的真面目

图 5 Redplus木马生成的文本内容

Redplus木马在本地磁盘根目录下建立一个属性为系统、隐藏和只读的备份文件夹,名为“控制面板.”,同时搜索本地磁盘上的用户文档和包裹文件(包括.xls、.doc、.mdb、.ppt、.wps、.zip、.rar),把搜索到的文件移动到上述备份文件夹中,造成用户常用文档丢失的假象,趁机勒索钱财。

Redplus木马的作者欧阳某某于2007年在广州落网,共借助Redplus木马勒索款项95笔,合计人民币7061.05元。法院考虑到其自首情节,最终判其有期徒刑4年。

4.2 QiaoZhaz

2007年3月1日至2日,安天分别捕获了两个敲诈者病毒,分别命名为QiaoZhaz.c和QiaoZhaz.d。当用户中了QiaoZhaz后,弹出“发现您硬盘内曾使用过盗版了的我公司软件,所以将您部分文件移动到锁定了的扇区,若要解锁将文件释放,请电邮liugongs19670519@yahoo.com.cn购买相应软件”的对话框,当用户点击“确定”按钮后,系统会自动注销,全屏黑屏。QiaoZhaz的行为流程如图6所示。

揭开勒索软件的真面目

图 6 QiaoZhaz的行为流程图

由于木马添加了注册表启动项和服务,导致每次开机后点击确定后木马就注销系统。去除“文件夹选项”,使用户无法选择“显示所有隐藏文件”并无法去掉“隐藏受保护的系统文件”“隐藏已知文件类型的扩展名”。去除开始菜单中的“搜索”、“运行”项和“关机”项,使用户不能使用搜索、command命令和关机、注销。修改txt文件关联,当用户试图运行txt文件时,则会激活木马,使用同样的方法修改任务管理器关联,当用户打开任务管理器时就会激活木马。木马把屏保时间修改为60秒,在%system32%文件夹下生成木马屏保文件,当用户60秒不操作计算机时,系统会自动运行木马。该木马利用多种方法保护自身,结束指定的反病毒软件或反病毒工具。

QiaoZhaz.d的行为更加恶劣,它除上述与QiaoZhaz.c相似的行为外,还删除非系统盘外的所有文件,使用户必须使用数据恢复软件才能找回原来的数据。同时在每个磁盘根目录下建立一个名为“警告.h”的文件,以此向用户进行敲诈勒索。

安天在2007年3月6日发布了“敲诈者病毒变种专用注册表修复工具”,是专门针对QiaoZhaz的注册表修复工具。

4.3 CryptoLocker

CryptoLocker在2013年9月被首次发现,它可以感染大部分的Windows操作系统,包括:Windows XP、Windows Vista、Windows 7、Windows 8。CryptoLocker通常以邮件附件的方式进行传播,附件执行之后会使用RSA&AES对特定类型的文件进行加密。并弹出勒索窗体,如图7所示:

揭开勒索软件的真面目

图 7 CryptoLocker的勒索界面

完成加密操作弹出付款窗口,需要用户使用moneypak或比特币,在72小时或4天内付款100或300美元,方可对加密的文件进行解密。

加密的文件类型:

*.odt, *.ods, *.odp, *.odm, *.odc, *.odb, *.doc, *.docx, *.docm, *.wps, *.xls, *.xlsx, *.xlsm, *.xlsb, *.xlk, *.ppt, *.pptx, *.pptm, *.mdb, *.accdb, *.pst, *.dwg, *.dxf, *.dxg, *.wpd, *.rtf, *.wb2, *.mdf, *.dbf, *.psd, *.pdd, *.eps, *.ai, *.indd, *.cdr, ????????.jpg, ????????.jpe, img_*.jpg, *.dng, *.3fr, *.arw, *.srf, *.sr2, *.bay, *.crw, *.cr2, *.dcr, *.kdc, *.erf, *.mef, *.mrw, *.nef, *.nrw, *.orf, *.raf, *.raw, *.rwl, *.rw2, *.r3d, *.ptx, *.pef, *.srw, *.x3f, *.der, *.cer, *.crt, *.pem, *.pfx, *.p12, *.p7b, *.p7c

安天CERT分析人员测试了一个已知的CryptoLocker样本,由于服务器已经无法正常返回,导致网络数据包通信不完整,如图8所示:

揭开勒索软件的真面目

图 8 CryptoLocker的网络通信

ESET在2013年12月发表了一篇文章,对新出现的Cryptolocker 2.0与Cryptolocker进行了相关技术的对比,如下表[4]:

揭开勒索软件的真面目

由于Cryptolocker所使用的技术在CTB-Locker中基本都包含,并未对该类勒索软件进行深入分析,具体细节请看下面CTB-Locker的分析。

4.4 CTB-Locker

CTB-Locker是Curve-Tor-Bitcoin Locker的缩写,是当前全球影响较大的勒索软件家族,主要通过邮件附件传播,使用高强度的加密算法,加密用户系统中的文档、图片、数据库等重要资料。加密完成后,CTB-Locker会采用弹出窗体和修改桌面背景等方式,提示用户支付赎金,并要求用户在96小时内支付8比特币(约合人民币1万元)赎金,否则将销毁用户文件。该家族在国外一直很活跃,国内也陆续出现受害者。该家族的另一个特点是使用洋葱路由(Tor),通过完全匿名的比特币交易方式获取赎金,这使得该勒索软件的作者难以追踪。

典型攻击流程如图9所示:

攻击WPS样本实为敲诈者

图 9 CTB-Locker的攻击流程

安天CERT分析人员随机提取了一个样本,该样本执行后,会弹出窗体要求用户向其支付赎金。

攻击WPS样本实为敲诈者

图 10 CTB-Locker的勒索界面

同时,还会修改桌面背景,告诉用户如何下载安装Tor浏览器,以及如何通过Tor浏览器访问其赎金支付页面。

 揭开勒索软件的真面目

图 11 CTB-Locker要求用户安装Tor浏览器

通过分析该样本,可以了解CTB-Locker的一般执行过程,如图12所示。

揭开勒索软件的真面目

图 12 CTB-Locker样本一般执行过程

该样本在文件遍历过程中,一旦发现具有以下后缀的文件时,将对其进行加密操作。

 揭开勒索软件的真面目

图 13解密后的CTB-Locker文件扩展名数据

加密部分是整个流程中比较关键的一部分,在这里我们会进行重点说明。

首先样本会将要加密的文件以后缀名为.tmp的形式调用函数MoveFileEx移动到临时目录下面。接着根据文件的时间和和当前系统运行的时间等信息,填充一个缓冲区。然后对这个缓冲区计算SHA256。根据计算的SHA256值作为会话私钥(session private key)使用Elliptic curve Diffie-Hellman(ECDH)算法产生一个会话公钥(sessIonpublickey)。再与配置文件中的一个主公钥(master public key)使用ECDH算法产生一个会话共享密钥(session shared secret),对会话共享密钥计算SHA256并将这个值作为AES加密的KEY。相关代码如下:

揭开勒索软件的真面目

需要说明的是,这个AES密钥是要保存到该函数的一个参数中给调用者的,但是调用者只是保存了5个AES密钥,这也就是为什么离线模式下CTB-Locker仍然能够解密5个文件的原因。把文件读取出来,然后使用ZLIB压缩后使用AES加密。加密的数据从一个临时文件的头部偏移0x30位置开始写入。文件加密完后会向临时文件的头部写入0x30的数据,其中开头的0x20字节就是会话公钥。文件加密后五个AES加密的密钥,加密文件个数,加密的磁盘等信息会保存在配置文件中。

4.5 移动平台勒索软件

2014年4月,国外开始出现移动平台勒索软件,国内也很快出现了类似软件,并且有愈演愈烈地趋势。目前国内外出现的移动平台的赎金方式有人民币、Q币、美元、卢布等,勒索方式有锁屏、加密文件、加密通讯录等方式。据了解该类软件爆发后国内已经有上千人的手机受到感染。这类勒索软件的发展将对用户手机及资料形成严重威胁。

国内出现的勒索软件通常伪装游戏外挂或付费破解软件,用户点击即会锁定屏幕,需加手机界面留下的QQ号为好友去支付赎金才能解锁。

如图14所示是该类勒索软件的一个真实案例。受害用户手机被锁定,勒索软件作者在手机界面给出QQ号码,要求受害用户加QQ好友并支付一定赎金才能解锁。

用户加该QQ后会提示回答验证问题。在该案例中,可以看到勒索者的相关资料,在用户个人信息中可以看到勒索者的相关身份信息,但无法确保其真实性。

揭开勒索软件的真面目

图 14勒索过程示意图

在受害用户加好友以后,勒索软件作者与其聊天,勒索人民币20元,并要求用户转账到指定支付宝账户才给出解锁密码。据了解,该勒索软件作者同时也对其他Android手机用户进行勒索行为,并且在受害用户支付赎金后,未能提供解锁密码。甚至还在勒索软件中加入短信拦截木马功能,盗取用户支付宝和财富通账户。有时,受害用户在多次进行充值、转账等方式后,仍不能获得解锁密,甚至会被勒索软件作者将受害用户加入黑名单。

5 防御:我该做什么

5.1 安全建议与部分解决办法

为了避免受到勒索软件的威胁,安天CERT安全工程师针对不同用户给出如下建议:

  • PC用户
  1. 及时备份重要文件;
  2. 及时安装更新补丁,避免一些勒索软件利用漏洞感染计算机;
  3. 给信任网站添加书签并通过书签访问;
  4. 对非可信来源的邮件保持警惕,避免打开附件或点击邮件中的链接;
  5. 定期用反病毒软件扫描系统。
  • Android平台的移动终端用户
  1. 安装手机杀毒软件(比如LBE安全大师、安天AVL Pro等);
  2. 由可靠的安卓市场下载手机应用程序。
  • 已经受到勒索软件感染的移动终端用户
  1. 如果手机已root并开启USB调度模式,可进入adb shell后直接删除恶意应用;
  2. 如果是利用系统密码进行锁屏,部分手机可尝试利用找回密码功能;
  3. 进入手机安全模式删除恶意应用程序。主流安卓手机进入安全模式的方式是,按住【电源键】开机,直到屏幕上出现品牌LOGO或运营商画面后,按住【音量减少】键不放。如果进入安全模式成功,锁屏界面的左下角会显示“安全模式”字样。此时可对恶意应用进行正常的卸载处理。

5.2 普通用户的防御方法

通过前面的分析可以看出,采用高强度加密方式绑架用户数据的勒索软件,将对用户的数据安全构成严重威胁,做好安全防御显得极为重要。普通用户可下载专门的防御产品如CryptoMonitor(该程序可以根据行为检测结果,在勒索软件试图加密用户数据时将其阻止[5])。

5.3 企业用户的防御方法

对于企业用户来说,针对勒索软件类的安全威胁防护可从预警、防御、保护、处置和审计几个步骤来进行有效防御和处理,保护系统免受攻击,安天的企业安全产品即是从这几方面入手进行防御和处理的。

  • 首先,将企业用户接触到的未知应用程序自动提交到企业内部的云平台,通过特征检测、虚拟化执行等方式集中鉴定,及时发现恶意程序。
  • 其次,企业IT管理人员可将具有重要价值的文件资源的主机设置为重要计算机或受限计算机,一旦勒索软件或其它可疑程序运行时,可以通过可信应用基线(白名单)检测的方式及时将其发现,并予以阻止。
  • 再次,可采用安全文档措施保护具有重要价值的文件。
  • 最后,通过云端追溯功能来对恶意样本进行全网追查,便于事后审计和定损。

 揭开勒索软件的真面目

图 15安天企业安全产品工作流程

6 总结

虽然勒索软件的技术含量不高,但却可以对用户的数据安全造成严重危害,其威胁不可小觑。

2015年5月底,勒索软件Locker的作者公布了其使用的勒索数据库并公开表达了歉意,随后还提供了自动解密程序供受害者使用。据统计,该数据库中共包含62,703条勒索记录。按该软件显示的勒索金额0.1比特币(约合175元人民币)计算,如果这些受害者都支付赎金,作者获得的非法收入可达一千万元。在巨额非法收入的诱惑下,很可能会有越来越多的恶意代码作者开始从事勒索软件的开发;借助比特币等难于追踪的支付方式的保护,勒索软件的作者也会越来越有恃无恐。

“希腊战士跳出木马,杀死睡梦中的守军,打开城门。城外隐藏的军队如潮水般涌入特洛伊城,将城市烧成一片灰烬。此时的特洛伊人懊悔没有听从拉奥孔的劝告,但为时已晚……”对于一般的感染式病毒或木马,即使用户在遭受安全威胁之后再安装反病毒软件,依然可以亡羊补牢,让系统重新处于安全状态。但对于绑架用户数据的勒索软件而言,没有可靠的事前防御和检测能力,面对已经被勒索软件加密的用户数据,侧重于保护系统安全的反病毒软件也无能为力。只有安装侧重于保护数据安全的工具或部署针对企业安全特点的安全产品,才能尽量避免给勒索软件以可乘之机。

原文发布时间为:2016-04-25

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。


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

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

相关文章

Java中的阻塞队列-LinkedBlockingQueue(二)

原文地址:http://benjaminwhx.com/2018/05/11/%E3%80%90%E7%BB%86%E8%B0%88Java%E5%B9%B6%E5%8F%91%E3%80%91%E8%B0%88%E8%B0%88LinkedBlockingQueue/ 在集合框架里,想必大家都用过ArrayList和LinkedList,也经常在面试中问到他们之间的区别。…

碳钢腐蚀速率计算公式_镁合金轮毂螺栓连接的电偶腐蚀行为

环境污染和能源短缺促使日益发达的汽车工业大力推进构件轻量化,镁合金是最轻的结构材料之一,构件采用镁合金制造可以在减重的同时不降低结构强度,受到汽车工业的青睐。轮毂作为汽车的主要组成部件,其轻量化是汽车节能减排的有效途…

避免人为灾难:盘点数据中心里十大愚蠢行为

对于企业运营,数据中心从设计、部署等各个环节都有极其严格的规范,保证简单的“题目”不出错也需要企业IT管理人员的智慧,在数据中心任何一个小错误往往会带来巨大灾难。数据中心从设计、部署、测试、运行、运维等各个环节都不能有任何的疏忽…

leetcode1039. 多边形三角剖分的最低得分(动态规划)

给定 N,想象一个凸 N 边多边形,其顶点按顺时针顺序依次标记为 A[0], A[i], …, A[N-1]。 假设您将多边形剖分为 N-2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 N-2 个三角形的…

thinkcmf 横向排列数据_利用python进行数据分析之数据清洗规整

1.处理缺失值数据使用dropna()时,注意里面参数axis、how、thresh的用法使用fillna()时,注意里面参数value、method、inplace、limit的用法2.数据转换去重data.drop_duplicates(keeplast)#注意keep的用法映射map()针对的是一维数组…

v$asm_diskgroup中state的说明

1.使用oracle账号连接数据库,查看v$asm_diskgroup 2.使用grid账号连接ASM实例,查看v$asm_diskgroup 3.官方v$asm_diskgroup关于state的解释 https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ASM_DISKGROUP.html#GUID-5CF77719-7…

Python笔记 【无序】 【五】

描述符 将某种特殊类型的类【只要实现了以下或其中一个】的实例指派给另一个类的属性 1.__get__(self,instance,owner)//访问属性,返回属性的值 2.__set__(self,instance,value)//将在属性分配【即赋值】中调用,不返回任何内容 3.__delete__(…

化工图纸中LISP_化工设备厂参展模型设计制作

最近这个案子是受某化工设备企业委托做四套设备模型 用来参加展会在模型制作过程中,这类案例经常遇到。但是客户所提供的CAD图纸,往往是实物尺寸在进行缩放的过程中常会造成过薄和过于精细的情况出现眼下技术小哥就遇到这类情况让我们先看看客户提供的C…

社交大佬们的数据“大”在哪里?

文章讲的是社交大佬们的数据“大”在哪里,“别说忙,没工夫看书,你那刷FB/朋友圈的工夫腾出来,保证每周啃下一本”,小编身边总充斥着这样的“训话”。 额,奈何我每天的工作离不开从社交媒体中获取信息&#…

mysql 多数据源访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码

之前写过一篇博客《SpringMybatisMysql搭建分布式数据库访问框架》描述如何通过SpringMybatis配置动态数据源访问多个数据库。但是之前的方案有一些限制(原博客中也描述了):只适用于数据库数量不多且固定的情况。针对数据库动态增加的情况无能为力。下面讲的方案能支…

菜鸟postman接口测试_postman 接口测试(转)

本文转载自testerhome;作者:xinxi1990 ;原文链接:https://testerhome.com/topics/18719;转载以分享知识为目的,著作权归原作者所有,如有侵权,请联系删除。postman使用创建用例集启动…

vb 数组属性_VB中菜单编辑器的使用讲解及实际应用

大家好,今天我们共同来学习VB中菜单方面的知识。VB中菜单的基本作用有两个:1、提供人机对话的界面,以便让使用者选择应用系统的各种功能;2、管理应用系统,控制各种功能模块的运行。在实际应用中,菜单可分为…

《JAVA程序设计》_第七周学习总结

一、学习内容 1.String类——8,1知识 Java专门提供了用来处理字符序列的String类。String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。需要注意的是Java把String类声明为final类,因此用户不能扩展Stri…

NeHe OpenGL教程 第三十七课:卡通映射

转自【翻译】NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改。对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢。 NeHe OpenGL第三十七…

SDN交换机在云计算网络中的应用场景

SDN的技术已经发展了好几年了,而云计算的历史更长,两者的结合更是作为SDN的一个杀手级应用在近两年炒得火热,一些知名咨询公司的关于SDN逐年增加的市场份额的论断,也主要是指SDN在云计算网络中的应用。 关于SDN在云计算网络中的应…

sql server 里面怎么支持数字使用双引号_国查:用中文编写SQL

这两天被 文言(wenyan-lang)刷屏了,这个项目在于使用文言文进行编程,我打算蹭个热度,把年初的作品再捞一捞,即中文SQL。1. 文言Wenyan:吾有一數。曰三。名之曰「甲」。為是「甲」遍。吾有一言。曰「「問天地好在。」」…

革新以太网交换机架构 全光网络的风刮进园区

全光网络的风正在刮进园区网,众所周知,光纤入户发展迅速,随着PON(无源光纤网络)技术在运营商通信网络的大规模使用,PON相关产业链逐步成熟,这也使得PON技术逐步在企业园区网得到应用。 基于铜线…

漫谈单点登录(SSO)(淘宝天猫)(转载)

1. 摘要 ( 注意:请仔细看下摘要,留心此文是否是您的菜,若浪费宝贵时间,深感歉意!!!) SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是&…

越狱第一至五季/全集迅雷下载

越狱 第一季 Prison Break Season 1 (2005) 本季看点:迈克尔斯科菲尔德是一头陷于绝境欲拼死一搏的怒狮——他的哥哥林肯巴罗斯被认定犯有谋杀罪被投入了福克斯河监狱的死囚牢。虽然所有的证据都指出林肯就是凶手,迈克尔坚信兄长是无辜的。林肯的死刑执行…

java -jar 默认参数_JAVA入门学习指南,建议收藏

如果你不懂Java 并且想认真学习接触了解一下Java的语法,建议把这篇文章收藏了,多看几遍,应该可以初步掌握Java 大部分基础的语法 。 让我们出发吧!ps:本文有点长,耐心阅读 。〇,编程环境工程项目推荐使用ID…