一个0day的开端-失败的man与nday
最近在审计java的CMS,跟着文章进行nday审计,找准目标newbee-mall Version1.0.0(新蜂商城系统),并跟着网上文章进行审计: https://blog.csdn.net/m0_46317063/article/details/131538307下载唯一的版本,且源码README中版本也对的上,但没想到nday全部复现失败,但在一番审计后找到了一个新的漏洞点:ssrf,且在前台可以被用户触发。 失败的man与nday: 失败的sql注入漏洞: (此漏洞原本可以在前台与后台进行sql注入攻击) 分析文章中有两sql注入漏洞,是由于引入mybatis依赖导致,但在我下的版本中根据关键字符${找不到任何的注入点,经过与分析文章对比发现所有注入点全部由${改成了#{由此完成修复。 失败的权限绕过: (此漏洞原本可以在admin登录后台通过/;/admin/test完成权限绕过) 复现文章写到以request.getRequestURI()获取路径获取路径后再进入if判断: 但我下载的版本进行了修复:将获取前端传输的路径方法改为了:getServletPath()从而完成修复。 两种方法的不同具体分析可以参考如下文章: https://forum.butian.net/share/3730失败的越权漏洞: (此漏洞原本可以根据传入的id参数越权修改他人信息。) 定位到具体代码: 此处代码与复现文章一样,都是先创建一个NewBeeMallUserVO对象,再通过是否为空判断信息修改是否成功。 真正修改信息的代码在updateUserInfo方法里面,于是跟进该方法实现处: 发现跟到了接口,于是我们继续跟进,找该接口的实现类: 跟进到如下类,找到具体实现的代码块: 复现文章代码在进入if判断前只有一行代码,并且代码逻辑是从前端传入的id值进行信息修改,但可以看到我下载的代码有两行: NewBeeMallUserVO userTemp = (NewBeeMallUserVO)httpSession.getAttribute(Constants.MALL_USER_SESSION_KEY); 首先通过http.Session获取当前用户,再赋给创建的userTemp对象。 MallUser userFromDB =mallUserMapper.selectByPrimaryKey(userTemp.getUserId()); 再从userTemp对象中获取id值进行信息修改,而非从前端请求中获取参数id的值,来完成漏洞修复。 0day的发现: 登录后台,点击修改或者添加商品: 随意传入图片后点击保存并抓包。 将POST数据包如上两个参数修改为dnslog地址,放包,在商城前台搜索该商品名称。 点击访问,dns平台出现记录。 漏洞代码分析: 先看看商品信息存储过程: 根据接口定位代码块: 可以发现在接受参数后进行是否为空判断后进入了核心方法updateNewBeeMallGoods,跟进: 跟到接口后再找到接口实现类,最后定位到更新信息代码块。 可以看到,仅仅对传入参数值进行为空判断和相同判断后,便调用set方法进行存储。 接下来再看看商品信息调用代码链。 根据触发漏洞的数据包接口定位代码块: 此处代码根据传入goodsid参数,将商品渲染到前端,也就是搜索商品后,见到商品那刻触发漏洞。 对接受goodsid参数是否<1判断后进入取商品信息代码。 跟进getNewBeeMallGoodsById方法,找到方法接口后再找接口实现类,再找方法: 发现goodsid参数传入selectByPrimaryKey方法。 该方法通过数据访问对象(DAO)goodMapper调用,且在方法最前处由NewBeeMallGoodsMapper对其定义: 全局搜索,找到对应xml文件: 发现通过id参数对数据库操作,取出goodsCoverImg与goodsCarousel参数。 回到最先前的类: 此时goods对象已经获取商品相关参数值。 再进入if判断商品是否上架,上架则进入下一轮代码,将商品信息封装为视图模型,找到NewBeeMallGoodsDetailVO类,发现只接受了goodsCoverImg参数,也就是先前抓包修改处只用修改该参数即可: 最后返回视图名称"mall/detail",表示渲染商品详情页面: 由于存储时未做任何过滤,进行视图层渲染时直接拿出goodsCoverImg参数放到前端,导致用户一旦访问商品便触发该漏洞。
网络安全日报 2024年10月10日
1、iOS 18镜像功能漏洞或泄露员工个人信息 https://www.sevcosecurity.com/iphone-mirroring-expose-employee-personal-information/ 10月9日消息,研究人员发现,苹果iOS 18和macOS Sequoia系统中的镜像功能存在隐私泄露风险,可能导致员工的个人应用信息暴露给公司IT部门。尽管应用数据并未被共享,但某些应用的存在,如健康或约会服务,可能泄露敏感个人信息。这一漏洞可能违反《加州消费者隐私法》(CCPA),带来诉讼和联邦监管风险。Sevco已通知苹果,苹果确认该漏洞并正在修复。Sectigo公司高级研究员Jason Soroko指出,该漏洞源于镜 2、Ivanti CSA发现三处零日漏洞y被积极利用 https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-CSA-Cloud-Services-Appliance-CVE-2024-9379-CVE-2024-9380-CVE-2024-9381?language=en_US Ivanti警告称其云服务设备(CSA)存在三处新安全漏洞,已在网络中被积极利用。这些零日漏洞与上个月修复的另一个漏洞一起被利用,成功利用后,具有管理员权限的攻击者可能绕过限制、执行任意SQL语句或获取远程代码执行权限。Ivanti表示,目前只有少量使用CSA 4.6补丁518及以前版本的客户遭受了这三 3、 网络安全公司Dr.Web遭黑客攻击数据泄露超10TB https://hackread.com/dumpforums-russian-cybersecurity-firm-dr-web-data-breach/ DumpForums,一个亲乌克兰的黑客论坛,近日声称成功攻击了俄罗斯网络安全巨头Dr.Web,窃取了超过10TB的敏感数据。该攻击始于2024年9月14日,Dr.Web在遭受网络攻击后于9月17日发布声明,称其“资源”未被访问或窃取。然而,DumpForums在10月8日的Telegram上否认了这一说法,表示他们已经深入Dr.Web的本地网络,并系统性地攻破了多台服务器和资源,获取了包括客户数据库和内部项目的敏感信息。黑客甚至声称控 4、Awaken Likho恶意组织对俄罗斯政府发起“猛攻j” https://www.freebuf.com/news/412331.html 近日,俄罗斯政府机构和工业实体遭遇了一场名为“ Awaken Likho ”的网络活动攻击活动。 卡巴斯基表示,攻击者现在更倾向于使用合法MeshCentral平台的代理,而不是他们之前用来获得系统远程访问权限的UltraVNC模块。这家俄罗斯网络安全公司详细说明了一场始于2024年6月并至少持续到8月的新活动。该活动主要针对俄罗斯政府机构、其承包商和工业企业。 5、英国政府就AI网络安全“行为守则”公开征求意见 https://www.secrss.com/articles/70932 英国的组织面临着复杂的网络安全环境,我们希望确保他们有信心在其基础设施中采用 AI。目前,47%使用 AI的组织没有任何特定的 AI网络安全实践或流程。因此,我们必须确保安全地设计、开发、部署和维护AI。 6、乐高网站被黑客入侵以推送加密货币骗局 https://www.bleepingcomputer.com/news/security/legos-website-hacked-to-push-cryptocurrency-scam/ 根据乐高 Reddit 版主“mescad”的说法,违规行为发生在美国东部标准时间晚上 9 点,持续了大约 75 分钟,直到美国东部时间晚上 10 点 15 分,该网站才得以恢复。 7、安装超过600万次k的WordPress插件存在XSS漏洞 https://www.darkreading.com/endpoint-security/single-http-request-exploit-6m-wordpress 安装超过 600 万次的 WordPress 插件容易受到跨站点脚本缺陷 (XSS) 的攻击,该漏洞允许攻击者提升权限并可能安装恶意代码,从而在受影响的网站上启用重定向、广告和其他 HTML 负载。 8、LemonDuck利用EternalBlue漏洞进行恶意挖矿攻击 https://www.anquanke.com/post/id/300586 来自奥法和NetbyteSEC安全研究人员的最新报告揭示了LemonDuck恶意软件的死灰复燃,该恶意软件现在正在利用微软服务器消息块(SMB)协议中的EternalBlue漏洞(CVE-2017-0144)来促进加密攻击。 9、高通产品被发现存在20个j漏洞,包括一个潜在的零日漏洞 https://www.anquanke.com/post/id/300650 高通公司解决了其产品中的 20 个漏洞,包括一个潜在的零日问题,该问题被追踪为 CVE-2024-43047(CVSS 得分 7.8)。该漏洞源于一个可导致内存损坏的 “释放后使用”(use-after-free)错误。该零日漏洞存在于数字信号处理器(DSP)服务中,影响数十种芯片组。 10、西门子SINEC安全监视器中存在多个关键漏洞 https://www.anquanke.com/post/id/300632 西门子发布了其SINEC安全监视器的一个新的安全更新,这是一个模块化的网络安全软件,用于被动的,非侵入性的,持续的监测客户场所的生产环境。已在V4.9.0之前的版本中发现了几个关键漏洞,这些漏洞被追踪为CVE-2024-47553、CVE-2024-47662、CVE-20483和CVE-2024-4565。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年10月09日
1、美国水务公司遭遇网络攻击被迫关闭在线服务 https://www.sec.gov/Archives/edgar/data/1410636/000119312524233300/d869346d8k.htm 美国最大的上市水和废水公用事业公司American Water在10月初遭遇网络攻击,迫使其关闭部分系统。公司已聘请第三方网络安全专家处理此次事件,并向执法部门报告,正在配合调查。此次攻击导致公司关闭了在线客户门户MyWater并暂停了计费服务。尽管如此,公司发言人表示,客户不会因系统故障产生滞纳费用。同时,公司强调其水和废水设施未受到此次事件的负面影响。此次事件发生在美国水务部门连续遭遇多次网络攻击的背景下,此前堪萨斯州阿肯色市 2、高通修复影响多款芯片的高危零日漏洞 https://docs.qualcomm.com/product/publicresources/securitybulletin/october-2024-bulletin.html 高通发布了安全补丁,修复了一个影响多款芯片的高危零日漏洞(CVE-2024-43047)。该漏洞由Google Project Zero的Seth Jenkins和国际特赦组织安全实验室的Wang Conghui报告,属于“使用后释放”漏洞,可能导致内存损坏,攻击者仅需低权限即可本地利用。该漏洞已在野外被利用,目标多为高风险人群如记者和政治反对者。高通敦促设备厂商尽快部署更新以修复受影响设备。此外,高通还修 3、大规模谷歌广告攻击瞄准实用软件用户 https://www.malwarebytes.com/blog/news/2024/10/large-scale-google-ads-campaign-targets-utility-software 近期,网络犯罪分子通过谷歌广告发起大规模的恶意广告(malvertising)活动,目标是知名实用软件如Slack、Notion等。攻击者伪装成合法企业,通过广告平台发布恶意广告,诱导用户下载伪装成软件的恶意程序。对于Windows用户,恶意软件托管在GitHub上,而Mac用户则遭到来自AMOS(Atomic Stealer)家族的窃密软件攻击,窃取系统内的密码和敏感信息。尽管谷歌已封 4、Apache Avro SDK漏洞允许远程代码执行 https://thehackernews.com/2024/10/critical-apache-avro-sdk-flaw-allows.html Apache Avro Java SDK中发现了一个关键安全漏洞(CVE-2024-47561),可能允许攻击者在易受攻击的应用程序中执行任意代码。该漏洞影响1.11.3及之前的所有版本,问题出在解析用户提供的Avro模式时。开发者已发布1.11.4和1.12.0版本修复此问题。Avro是一个开源的跨语言数据序列化框架,广泛用于大规模数据处理,因此该漏洞对多个组织构成重大安全威胁。虽然目前尚无公开的攻击样例(PoC),但该漏洞可以通过Kafk 5、攻击者假冒NPM包利用AnyDesk瞄准Windows用户 https://www.sonatype.com/blog/counterfeit-lodash-attack-leverages-anydesk-to-target-windows-users 近日,研究人员发现多个伪装为流行JavaScript库Lodash的恶意npm包,目标为使用Windows操作系统的开发者。最具代表性的是“lodasher”包,该包利用打字错误欺诈(typosquatting)技术,假冒Lodash库,通过版本号迷惑用户,并内含被篡改的AnyDesk远程桌面工具。这些恶意包还包括“laodasher”和“them4on”,由同一作者发布,已被下载850次。通过伪装 6、搭载人工智能功能的网络钓鱼攻击正在增多 https://www.egress.com/newsroom/new-report-reveals-a-rise-in-phishing-attacks-as-commodity-campaigns-and-impersonation-attacks-escalate 根据研究人员的报告,网络钓鱼攻击随着AI技术的广泛应用迅速增长,第二季度钓鱼攻击企图增加了28%。尽管攻击数量增加,攻击手法仍沿袭传统方法,44%的攻击源自已被攻陷的账户,8%来自供应链内部的账户。研究表明,45%的钓鱼邮件携带恶意链接,23%包含附件。值得注意的是,75%的钓鱼工具包在暗网上出售时都声称具备AI能力,82% 7、新型僵尸网络针对 100 个国家发起 30 万次 DDoS 攻击 https://www.freebuf.com/news/412218.html 近日,网络安全研究人员发现了一个名为 Gorilla(又名 GorillaBot)的新僵尸网络恶意软件家族,它是已泄露的 Mirai 僵尸网络源代码的变种。网络安全公司 NSFOCUS 在上个月发现了这一活动,并称该僵尸网络在今年 9 月 4 日至 9 月 27 日期间发布了 30 多万条攻击命令,攻击密度之高令人震惊。据悉,该僵尸网络平均每天会发出不少于 2万条分布式拒绝服务(DDoS)攻击的命令。 8、PHP 中发现多个漏洞,提示紧急安全更新 https://securityonline.info/multiple-vulnerabilities-discovered-in-php-prompting-urgent-security-updates/ PHP 项目最近发布了一个安全公告,解决了影响各种 PHP 版本的多个漏洞。这些漏洞包括潜在的日志篡改、任意文件包含和数据完整性违规。强烈建议所有 PHP 用户立即将其系统更新到最新的修补版本。 9、Linux CUPS漏洞引发大规模DDoS放大攻击 https://www.darkreading.com/vulnerabilities-threats/unix-printing-vulnerabilities-easy-ddos-attacks 近期,关于Common Unix Printing System(CUPS)的安全漏洞引发了广泛关注,特别是其被利用进行大规模分布式拒绝服务(DDoS)放大攻击的风险。多篇研究报告指出,攻击者可以通过精心构造的数据包触发CUPS服务器的特定行为,从而实现对目标系统的网络攻击。 10、全球近 100 万台 DrayTek 路由器存在严重漏洞 https://securityonline.info/draytek-patched-multi-flaws-in-routers-including-cve-2024-41592-cvss-10-0/ DrayTek Vigor系列路由器最近被曝出存在多个严重安全漏洞,这些漏洞可能导致远程代码执行、命令注入、XSS攻击以及Telnet服务的安全问题。这些漏洞不仅影响全球数百万台设备的安全,还可能被用于间谍活动、数据泄露和作为命令控制服务器使用等威胁行为。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
实战逆向RUST语言程序
实战为主,近日2024年羊城杯出了一道Rust编写的题目,这里将会以此题目为例,演示Rust逆向该如何去做。 题目名称:sedRust_happyVm 题目内容:unhappy rust, happy vm 关于Rust逆向,其实就是看汇编,考验选手的基础逆向能力。在汇编代码面前,任何干扰都会成为摆设。 1、初步分析 64为程序,使用IDA 64打开 通过字符串定位分析点 现在我们知道 inputflag的长度大于 0x15 接下来在汇编层面下一个断点,输入假flag,去观察相关寄存器的值 好像并没有什么内容 继续单步 步过,直到发现下一个要注意的地方! 字符串长度:0x28 我们继续单步步过跟踪 开辟空间的时候,说明快到真正函数处理过程了。 2、分析加密流程 2.1 base64分割模块 这里简单将 3 字节变成4字节的操作,称之为 base64分割模块 这里举个例子 输入的:"111" ->二进制字符串 001100010011000100110001 经过base64分割模块 ->001100 010011 000100 110001 发现程序执行完后正好是这样的结果 2.2 组合 举个例子: 假如分割之后的4字节为: 0xC、0x13、0x4、0x31 那么组合后的字符串 rax = 0xC rcx = 0x1300 edx = 0xB1130C18 2.3 VM处理模块 发现func3 非常乱 并且频繁调用sub_40A800() 发现这是一道VM类型的题,那么VM的题加密应该会很简单,基本是异或之类。 在 sub_40A800 里面找到 异或,下断点 这个al每经过两次就是秘钥 解题脚本 int main() {   //提取的密文   unsigned char s1[] = { 0x00,0x82,0x11,0x92,0xa8,0x39,0x82,0x28,0x9a,0x61,0x58,0x8b,0xa2,0x43,0x68,0x89,0x4,0x8f,0xb0,0x43,0x49,0x3a,0x18,0x39,0x72,0xc,0xba,0x76,0x98,0x13,0x8b,0x46,0x33,0x2b,0x25,0xa2,0x8b,0x27,0xb7,0x61,0x7c,0x3f,0x58 };   //提取的秘钥   unsigned char s2[] = { 0x18,0xb1,0x9,0xa4,0xa6,0x2a,0x9e,0x1b,0x96,0x57,0x5d,0xad,0xae,0x75,0x65,0xac,0x9,0x8c,0xa0,0x76,0x47,0x2c,0x10,0x1,0x7c,0xf,0xba,0x47,0x95,0x30,0x9b,0x74,0x3f,0x2d,0x2d,0x9a,0x87,0x31,0xba,0x43,0x70,0x2c,0x4c };   unsigned char s3[128] = { 0 };   for (int i = 0; i < 43; i++) {       s3[i] = s1[i] ^ s2[i];   }   //还原base64分割模块   char s4[128] = { 0 };   int j = 0;   for (int i = 0; i < 44; i += 4, j += 3) {       s4[j] = (s3[i] << 2) | (s3[i + 1] >> 4);       s4[j+1] = (s3[i+1] << 4) | (s3[i + 2] >> 2);       s4[j+2] = (s3[i+2] << 6) | s3[i + 3];   }   printf("%s", s4);     return 0; } ‍
网络安全日报 2024年10月08日
1、Medusa勒索软件新变种每月感染超百家企业 https://blog.talosintelligence.com/threat-actor-believed-to-be-spreading-new-medusalocker-variant-since-2022/ 据研究人员最新研究显示,一个名为“PaidMemes”的犯罪分子使用MedusaLocker勒索软件的新变种“BabyLockerKZ”,自2022年以来每月感染超过100家企业。此攻击者通过公开可用的工具,如Mimikatz,利用网络扫描器和恶意软件绕过防御系统并窃取Windows凭证。受害者分布广泛,涵盖欧洲、南美、美国、亚洲等多个地区,主要为中小型企业。PaidMeme 2、Optigo网络交换机现严重漏洞可轻松控制设备 https://www.cisa.gov/news-events/ics-advisories/icsa-24-275-01 Optigo的Spectra Aggregation Switch网络交换机中发现了两个严重的安全漏洞,影响版本为1.3.7及更早版本。根据美国网络安全与基础设施安全局(CISA)的报告,这些漏洞允许远程攻击者无需认证即可接管设备。第一个漏洞(CVE-2024-41925)涉及PHP远程文件包含,攻击者可利用它绕过认证并执行任意代码。第二个漏洞(CVE-2024-45367)则是服务器认证不完整,允许攻击者无需密码即可访问设备。目前尚无补丁,建议限制设备的网络访问。 3、朝鲜黑客使用新型VeilShell后门进行隐秘网络攻击 https://www.securonix.com/blog/shroudedsleep-a-deep-dive-into-north-koreas-ongoing-campaign-against-southeast-asia/ 据研究人员报告,朝鲜黑客组织APT37(也称InkySquid、RedEyes等)近期使用一种名为VeilShell的全新后门工具,发起了一场针对柬埔寨及东南亚其他国家的网络间谍攻击活动。该攻击链通过LNK文件触发的PowerShell代码,部署了多个恶意组件,并利用不常见的AppDomainManager注入技术来执行恶意DLL文件。VeilShell后门通过命 4、Cloudflare阻止创纪录3.8Tbps DDoS攻击 https://www.bleepingcomputer.com/news/security/cloudflare-blocks-largest-recorded-ddos-attack-peaking-at-38tbps/ Cloudflare近日成功阻止了一场创纪录的分布式拒绝服务(DDoS)攻击,该攻击峰值高达3.8Tbps,成为有史以来公开记录中最大的DDoS攻击。此次攻击持续一个月,主要针对金融服务、互联网和电信行业,发起了超过100次超大规模的流量攻击。攻击者利用被感染的Asus路由器、MikroTik设备、DVR和网络服务器,以每秒20亿个数据包的速度轰炸目标网络。 5、LockBit与Evil Corp勒索软件成员在全球执法中被逮捕和制裁 https://www.europol.europa.eu/media-press/newsroom/news/lockbit-power-cut-four-new-arrests-and-financial-sanctions-against-affiliates 在全球执法机构的联合打击下,四名与LockBit勒索软件(Bitwise Spider)有关的嫌疑人被逮捕,九台服务器被关闭。这次行动逮捕了包括一名法国的LockBit开发者和西班牙的一个弹性托管服务管理员。与此同时,俄罗斯国民亚历山大·里任科夫被确认是Evil Corp高层成员,并与LockBit有关联。该行动是“Cronos 6、微软与美司法部联合打击俄罗斯FSB黑客基础设施 https://www.justice.gov/opa/pr/justice-department-disrupts-russian-intelligence-spear-phishing-efforts 微软和美国司法部联手,摧毁了俄罗斯ColdRiver黑客组织所使用的攻击基础设施。该组织与俄罗斯联邦安全局(FSB)有密切关联,利用超过100个域名发起针对美国政府雇员和非营利组织的鱼叉式网络钓鱼攻击。ColdRiver从2023年1月至2024年8月,瞄准了30多家公民社会组织,包括记者、智库和非政府组织,窃取敏感信息并干扰其活动。微软与司法部共查封了107个用于这些攻击的域名。该行动是 7、Red Barrels遭网络攻击致游戏开发进度延迟 https://www.bleepingcomputer.com/news/security/outlast-game-development-delayed-after-red-barrels-cyberattack/ 加拿大知名游戏开发商Red Barrels因遭受网络攻击,其热门游戏《Outlast》系列的开发进度面临延迟。虽然玩家数据未受影响,但公司的内部IT系统和部分数据被入侵,导致生产时间表受到冲击。Red Barrels已采取紧急措施保护系统,并聘请外部网络安全专家展开深入调查。目前,该工作室正与潜在受影响的利益相关方及相关机构沟通,并为员工提供支持。此次攻击可能对《Outla 8、Ivanti确认攻击者已利用旧的关键漏洞 https://www.cisa.gov/news-events/alerts/2024/10/02/cisa-adds-one-known-exploited-vulnerability-catalog Ivanti确认其Endpoint Manager中的一项旧SQL注入漏洞被黑客利用,允许远程代码执行。该漏洞编号为CVE-2024-29824,尽管公司已在5月发布补丁,但仍有未及时更新的系统遭受攻击。该漏洞CVSS评分为9.6,存在于patchbiz.dll文件中,攻击者可通过操控SQL查询来执行恶意代码。Ivanti拥有全球40000多家客户,其中包括88家《财富》100强公司。网络 9、苹果iOS 18.0.1修复密码泄露和音频录制漏洞 https://support.apple.com/en-us/121373 苹果发布了iOS 18.0.1和iPadOS 18.0.1更新,修复了两个安全漏洞(CVE-2024-44207和CVE-2024-44204)。其中,CVE-2024-44207漏洞允许攻击者在麦克风指示器激活前,捕获消息中的短音频片段;CVE-2024-44204则是逻辑问题,可能使VoiceOver功能读取用户保存的密码。这两个漏洞已通过改进的验证和检查机制修复。苹果表示,目前尚未发现这些漏洞被实际攻击利用的案例。 10、黑客劫持AI模型用于非法角色扮演 https://permiso.io/blog/exploiting-hosted-models 近六个月来,针对生成式AI基础设施(如AWS Bedrock)的攻击显著增加。攻击者利用暴露的访问密钥,劫持受害者的生成式AI(GenAI)基础设施来支持自己的大型语言模型(LLM)应用。研究人员发现,攻击者通过绕过模型的内容过滤机制,搭建了一个用于性角色扮演的AI聊天应用,允许用户与AI角色进行一对一对话。部分对话涉及暴力和非法内容,甚至包括儿童性剥削材料(CSEM)。这些攻击主要瞄准Anthropic的Claude模型,但也波及其他云平台(如Azure、GCP)及其支持的模型(GPT4、Mi 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年09月30日
1、攻击者利用HTML Smuggling手段传播DCRat https://www.netskope.com/blog/dcrat-targets-users-with-html-smuggling 研究人员近期发现,攻击者正在利用HTML Smuggling手段传播DCRat。DCRat是一种远控木马,该远控木马使用C#编写,提供了击键记录、文件外传、命令执行和凭证盗窃等功能。在此次攻击活动中,攻击者将HTML文件伪装成俄语应用程序,如TrueConf和VK Messenger,表明可能是针对俄语用户的攻击活动。一旦受害者打开该HTML文件,它会自动下载一个受密码保护的ZIP文件,使用的密码是2024。该ZIP文件中包含一个自解压RAR文件,其中包 2、WooCommerce愿望清单插件中存在安全漏洞 https://securityonline.info/cve-2024-43917-cvss-9-3-unpatched-sqli-flaw-in-ti-woocommerce-wishlist-threatens-100000-sites/ WordPress插件TI WooCommerce Wishlist中存在一个安全漏洞,可能使超过10万个网站面临威胁。该漏洞被标识为CVE-2024-43917,CVSS评分为9.3,允许未经身份验证的用户执行任意SQL查询,可能使他们完全控制受影响的网站。该漏洞源于插件代码中的SQL注入问题。攻击者可以利用此漏洞绕过安全措施并操纵网站的数据库,导 3、备受争议的Windows Recall AI 搜索工具重新回归 https://www.securityweek.com/microsofts-controversial-recall-returns-with-proof-of-presence-encryption-data-isolation-opt-in-model/ 之前由于公众的强烈反对,微软撤下了备受争议的 Windows Recall 功能的预览版三个月后,微软表示已彻底改革了安全架构,包括存在证明加密、防篡改和 DLP 检查,以及在主操作系统之外的安全区域中管理屏幕截图数据。该功能利用人工智能创建可搜索的数字记忆,记录用户在 Windows 电脑上执行的所有操作,该功能也将默认关闭,并配 4、 以明文形式存储数亿个密码,Meta被罚1亿美元 https://www.freebuf.com/articles/412005.html 因意外将6 亿 Facebook 用户的密码以明文形式存储,当地时间9月27日,爱尔兰数据保护委员会(DPC)宣布对Facebook母公司Meta处以9100万欧元(约合1.01亿美元)罚款。 5、黑产伙同通信公司员工注册倒卖微信号牟利,涉案上千万! https://www.freebuf.com/news/412017.html 2024年9月24日,据检察日报报道:注册微信账号必须用实名制的手机号码,通过系统发送短信进行验证等程序,才能注册成功。某通信集团贵州有限公司员工刘某为获取非法利益,在公司行业网关系统内搭建特殊通道,伙同他人让大量未实名注册且未投入使用的电话号码(以下简称“空号”)通过短信验证,从而成功注册微信账号。牵出了3个犯罪集团,28人获刑。 6、《工业和信息化领域数据安全合规指引》公开征求意见 https://www.secrss.com/articles/70772 为贯彻落实《数据安全法》《工业和信息化领域数据安全管理办法(试行)》等法律法规要求,中国钢铁工业协会、中国有色金属工业协会、中国石油和化学工业联合会、中国建筑材料联合会、中国机械工业联合会、中国汽车工业协会、中国纺织工业联合会、中国轻工业联合会、中国电子信息行业联合会、中国计算机行业协会、中国通信标准化协会、中国通信企业协会、中国互联网协会、中国中小企业国际合作协会、中国通信学会、工业和信息化部商用密码应用产业促进联盟、工业信息安全产业发展联盟等十七家行业组织共同编制《工业和信息化领域数据安全合规指引(征求意见稿)》 7、 “三只羊”录音门言论系AI伪造 https://secrss.com/articles/70747 合肥警方9月26日通报,网传“三只羊”卢某某的酒后言论系AI工具伪造。南都记者了解到,涉案嫌疑人用以伪造卢某某言论的AI声音克隆平台为“Reecho睿声”。 8、谷歌工作空间AI助手易受间接提示注入攻击 https://cybersecuritynews.com/gemini-workspace-prompt-injection/ 最近的一项调查显示,谷歌的 Gemini for Workspace(一款集成在谷歌各种产品中的多功能人工智能助手)容易受到间接提示注入攻击。 9、多款办公自动化系统遭受SQL注入攻击 https://sectoday.tencent.com/event/wD-VLpIBcIs5GCTMz5HC 近期,多个办公自动化(OA)系统被曝出严重的SQL注入漏洞,涉及WanhooOA-ezOFFICE、用友U8CRM等知名产品。这些漏洞使黑客能够轻易地操纵数据库,窃取企业机密信息甚至破坏整个系统架构。 10、韩国将视观看或持有深度伪造色情作品为犯罪 https://www.reuters.com/world/asia-pacific/south-korea-criminalise-watching-or-possessing-sexually-explicit-deepfakes-2024-09-26/ 首尔 9 月 26 日(路透社)——韩国议员周四通过了一项法案,将拥有或观看色情深度伪造图像和视频定为犯罪,处罚包括监禁和罚款。根据该法案,任何购买、保存或观看此类材料的人都可能面临最高三年的监禁或最高 3000 万韩元(22,600 美元)的罚款。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
小白生于天地之间,岂能郁郁难挖高危?
小白的众测高危: 记先前某次众测,经过资产梳理,发现所有站点全部都挂了WAF,作为一名不钓鱼的挖洞小白,我估计这次又要空军。 小白生于天地之间,岂能郁郁难挖高危? 想要在挂了WAF的站点挖出高危,很难,因为这些站点,你但凡鼠标点快点,检测出了不正确动作都要给你禁IP,至于WAF绕过对于小白更是难搞。其实在众测,大部分漏洞都并非那些什么SQL注入RCE等等,而小白想要出高危,可能也只有寄托希望于未授权。 未授权接口怎么找: 有一种站点,在URL内含有#符号,这种站点的路径接口信息泄露较多,更容易出未授权。 但要注意一点,#后面的东西是不会走服务器的,所以这里如果在findsomething找到了很多东西,拼接的时候带不带#号呢? 这就要区分路由和接口了,如果看着像是路由,在这种原本就有#符号站点,就带上#符号。如果是接口,接口一般是用来进行数据交互的,所以需要走服务器,那就不能拼接#符号。 区分上述后就可以将拿到的东西以POST请求,GET请求都跑一遍,再看是否存在能用的接口,再根据接口返回情况看是否需要添加参数。 这里又是涉及一个很麻烦的点,那就是遇到接口能用,找到参数了,但参数的格式不知道,我这次讲的这个高危就遇到了这种情况,差点错过! 在将现有js里面的接口跑完后还需要注意找js里面的js里面的接口。 这里有两种常见情况: 一、js.map泄露 大多webpack打包的站点会有js.map文件,那js.map文件怎么利用呢? 首先需要下载下来: 如上图,右键检查后,在网络处找.js文件,再点击它,在右方找到js文件的路径,并在结尾加上.map访问即可下载。 之后再由reverse-sourcemap工具还原js.map文件,再由vscode等工具打开,进行接口关键字搜查。 二、大量chunk类型js泄露: 如图: 我们如果在数据包或者js文件看到这种格式内容,就可以考虑进一步利用。 首先将所有内容复制出来,再用notepad++打开: 如图进行替换成符合burp里面chunk文件的格式,再放到burp里面跑一遍,配合HAE插件可以提取更加全面的接口信息。 小白找的高危未授权接口: 我也是通过上述方法找到接口后放到burp里面跑,(跑的时候记得加参数),例如接口中有类似id=,url=,wid=等等最好自己加个参数上去。 但就是因为不知道参数类型,我险些错过这个高危漏洞。 如上图第一个接口,因为参数不正确跑出来跟其它接口一个样,不过还好我留意了一下,并且运气好,随手拼的参数居然正确了,直接下载了敏感文件,造成用户全家姓名,电话,住址,工作公司,身份证等等信息全部泄露。(所以这里注意:对有参数的接口即使一次没跑出信息,也要考虑是否需要对参数进行FUZZ) 并且id参数可遍历,形成大范围用户泄露,高危漏洞到手。
网络安全日报 2024年09月29日
1、研究人员披露CUPS中的多个安全漏洞 https://securityonline.info/critical-cups-vulnerabilities-expose-linux-and-other-systems-to-remote-attacks/ 研究人员发现并披露了CUPS(Common Unix Printing System)中的多个安全漏洞。CUPS是Linux系统以及BSD、Oracle Solaris和Google Chrome OS等平台上广泛使用的打印服务。这些漏洞被标识为CVE-2024-47176、CVE-2024-47076、CVE-2024-47175、CVE-2024-47177。攻击者能够结合利 2、科威特卫生部门遭受网络攻击,导致多家医院和医疗保健应用瘫痪 https://therecord.media/kuwait-ministry-restoring-systems-cyberattack 科威特卫生部正在恢复系统,此前的一次网络攻击导致该国多家医院和医疗保健应用程序瘫痪,该国卫生部网站仍然无法访问。政府使用备份恢复了科威特癌症控制中心的系统、管理国家健康保险的系统和外籍人士体检办公室的系统。科威特官员们表示,一项调查显示了攻击者是如何入侵他们的系统的,攻击者未能进入重要数据库,但卫生部被迫关闭某些系统以安装所需的更新。目前没有任何勒索组织声称对此次攻击负责。 3、HPE Aruba Networking修复三个安全漏洞 https://www.bleepingcomputer.com/news/security/hpe-aruba-networking-fixes-three-critical-rce-flaws-impacting-its-access-points/ HPE Aruba Networking修复了其Aruba接入点命令行界面(CLI)服务中的三个安全漏洞,这些漏洞可能允许未经身份验证的攻击者在易受攻击的设备上远程执行代码。攻击者可以通过向PAPI(Aruba的接入点管理协议)UDP端口(8211)发送特制的数据包来利用这些漏洞(CVE-2024-42505、CVE-2024-42506和 4、VLC媒体播放器中存在安全漏洞 https://securityonline.info/vlc-media-player-update-needed-cve-2024-46461-discovered 使用VLC媒体播放器的用户应立即更新软件,该软件中存在一个安全漏洞,该漏洞可能允许攻击者使程序崩溃甚至执行任意代码。该漏洞被标识为CVE-2024-46461,CVSS评分为8.0。问题源于当VLC处理恶意制作的MMS流时可能触发整数溢出。虽然该漏洞最可能导致的结果是程序崩溃,但如果结合其他漏洞,这个漏洞可能导致信息泄露或远程代码执行。到目前为止,没有发现该漏洞被恶意利用。用户应将VLC媒体播放器更新至3.0.21或更高版本 5、研究人员披露WatchGuard产品中的安全漏洞 https://securityonline.info/critical-watchguard-vulnerabilities-discovered-cve-2024-6592-and-cve-2024-6593/ 研究人员披露了WatchGuard的认证网关和单点登录客户端软件中的两个安全漏洞CVE-2024-6592和CVE-2024-6593。CVE-2024-6593源于认证网关中的授权错误,此漏洞的CVSS评分为9.1,允许具有网络访问权限的攻击者执行认证网关上的受限管理命令。CVE-2024-6592源于协议通信中的授权错误,CVSS评分为9.1分,涉及认证网关和Windows及 6、英国主要火车站紧急关停公共WiFi:被黑后传播恐怖主义信息 https://www.secrss.com/articles/70730 由于发生“网络安全事件”,英国多家火车站已暂停提供WiFi服务。伦敦尤斯顿站、曼彻斯特皮卡迪利站和伯明翰新街站等19座车站在周三晚上停止了WiFi服务,到周四WiFi服务仍未恢复。据《曼彻斯特晚报》报道,有乘客在皮卡迪利站连接WiFi时,被引导到一个标题为“我们爱你,欧洲”的网页。该网页包含了反伊斯兰的信息以及关于英国和欧洲几起恐怖袭击的详细内容。 7、研究人员称十年前的严重漏洞影响所有 GNU/Linux 系统 https://www.anquanke.com/post/id/300491 一位研究人员声称发现了一个十年前的漏洞,评级为 9.9,该漏洞影响了所有 GNU/Linux 系统,使攻击者能够控制易受攻击的设备。该漏洞正在调查中,预计将于下周全面披露。 8、多家供应商的自动油箱计量系统发现严重漏洞 https://www.bitsight.com/blog/critical-vulnerabilities-discovered-automated-tank-gauge-systems Bitsight 的安全研究人员在自动油箱计量 (ATG) 系统中发现了严重漏洞,包括 Maglink LX、Maglink LX4、OPW SiteSentinel、Proteus OEL8000、Alisonic Sibylla 和 Franklin TS-550。 9、BBTok 使用 AppDomain Manager 注入技术针对巴西 https://www.gdatasoftware.com/blog/2024/09/38039-bbtok-deobfuscating-net-loader 针对巴西的威胁 BBTok 具有复杂的感染链,从包含 ISO 映像的电子邮件开始。该恶意软件直接在受感染的机器上编译 C# 代码,并使用 AppDomain Manager 注入技术。 10、Microsoft音频总线漏洞使攻击者可执行远程代码 https://cybersecuritynews.com/microsoft-audio-bus-rce-vulnerability/ 思科 Talos 漏洞研究团队发现了微软产品中的两个重大漏洞,该公司已在过去两个补丁星期二修补了这些漏洞。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年09月27日
1、Dragonfly2中存在安全漏洞 https://securityonline.info/critical-dragonfly2-flaw-cve-2023-27584-hardcoded-key-threatens-admin-access/ Dragonfly2是一个开源的、基于点对点(P2P)的文件分发和镜像加速系统,最近在该系统中发现一个安全漏洞,该漏洞被标识为CVE-2023-27584,CVSS 评分为 9.8。这个漏洞源于该系统在身份验证过程中使用了硬编码的加密密钥,使系统容易受到攻击。这使得攻击者可以使用已知密钥生成有效的JWT令牌,从而完全绕过身份验证措施。Dragonfly2已修复该漏洞,建议所有使用Dr 2、pgAdmin修复其存在的安全漏洞 https://securityonline.info/cve-2024-9014-cvss-9-9-pgadmins-critical-vulnerability-puts-user-data-at-risk/ pgAdmin是一款开源PostgreSQL数据库管理工具,其开发团队发布了一个紧急安全更新,以修复影响8.11及更早版本的安全漏洞。该漏洞被标识为CVE-2024-9014,CVSS评分为9.9。该漏洞存在于pgAdmin的OAuth2认证实现中,可能允许攻击者未经授权访问敏感的用户信息,包括客户端ID和密钥。pgAdmin开发团队强烈建议所有用户尽快更新至8.12版本。此版本不 3、研究人员发现针对北美运输和物流公司的攻击活动 https://www.proofpoint.com/us/blog/threat-insight/security-brief-actor-uses-compromised-accounts-customized-social-engineering 研究人员发现了一场针对北美运输和物流公司的攻击活动。攻击者利用行业内合法公司的失窃电子邮件账户,使用社会工程学策略向受害者投递恶意软件。研究人员称,自2024年5月以来,至少有15个失窃账户被用于进行攻击活动。攻击者不断改变他们的攻击策略。最初,他们投递的恶意软件包括Lumma Stealer、StealC和NetSupport。然而,到20 4、Nvidia容器套件严重缺陷导致云 AI 系统面临主机接管风险 https://www.securityweek.com/critical-nvidia-container-flaw-exposes-cloud-ai-systems-to-host-takeover/ Nvidia 确认存在代码执行、拒绝服务、权限提升、信息泄露和数据篡改的风险。CVSS 9/10。 5、思科修补 IOS 软件中的高危漏洞 https://www.securityweek.com/cisco-patches-high-severity-vulnerabilities-in-ios-software-2/ 思科已发布针对影响运行 IOS 和 IOS XE 软件的产品的七个高严重漏洞的补丁。 6、谷歌称用 Rust编写代码,五年漏洞数下降了68% https://www.freebuf.com/news/411787.html 从 Android 12 开始,Google 就在 Android 系统中带来了 Rust 语言的支持,作为 C/C++ 的替代方案,他们的目标并不是把现有的 C/C++ 代码都转换成为 Rust,而是在新编写的代码中使用 Rust 语言开发。 通过将越来越多的 Rust 代码集成到其 Android 操作系统中,Google 在减少漏洞方面的努力最终是获得了回报。 根据谷歌发布的最新公告:在过去五年的Android 系统版本中,内存安全漏洞的数量大幅下降了68%。这远远低于之前在 Chromium 中发现的 7、OpenPLC 中修补了远程代码执行和 DoS 漏洞 https://www.securityweek.com/remote-code-execution-dos-vulnerabilities-patched-in-openplc/ 思科 Talos 威胁情报和研究部门披露了几个最近修补的 OpenPLC 漏洞的细节,这些漏洞可用于发起 DoS 攻击和远程代码执行。 8、研究人员披露了起亚汽车漏洞,只需知道车牌即可远程控制 https://thehackernews.com/2024/09/hackers-could-have-remotely-controlled.html 网络安全研究人员披露了起亚汽车中目前已修补的一组漏洞,如果成功利用这些漏洞,只需使用车牌就可以远程控制汽车的关键功能。这些问题影响了几乎所有 2013 年后生产的车辆,甚至让攻击者秘密获取敏感信息,包括受害者的姓名、电话号码、电子邮件地址和实际地址。 9、Proxmox 虚拟环境和邮件网关存在严重 API 漏洞 https://securityonline.info/proxmox-virtual-environment-and-mail-gateway-exposed-to-critical-api-vulnerability/ Proxmox 虚拟环境 (VE) 和 Proxmox 邮件网关 (PMG) 中发现了一个严重漏洞,该漏洞可能允许未经授权访问敏感文件并可能导致整个系统受到损害。 10、黑客利用 PDF 文件传播新的 SnipBot 恶意软件 https://cybersecuritynews.com/hackers-weaponizing-pdf-files/ Palo Alto Networks 的安全专家最近发现,黑客一直在积极利用 PDF 文件来传播新的 SnipBot 恶意软件。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
深度学习后门攻击分析与实现(二)
前言 在本系列的第一部分中,我们已经掌握了深度学习中的后门攻击的特点以及基础的攻击方式,现在我们在第二部分中首先来学习深度学习后门攻击在传统网络空间安全中的应用。然后再来分析与实现一些颇具特点的深度学习后门攻击方式。 深度学习与网络空间安全的交叉 深度学习作为人工智能的一部分,在许多领域中取得了显著的进展。然而,随着其广泛应用,深度学习模型的安全性也引起了广泛关注。后门攻击就是其中一种重要的威胁,尤其在网络空间安全领域中。 我们已经知道深度学习后门攻击是一种攻击者通过在训练过程中插入恶意行为,使得模型在特定的触发条件下表现异常的攻击方式。具体来说,攻击者在训练数据集中加入带有后门触发器的样本,使得模型在遇到类似的触发器时,产生攻击者期望的错误输出,而在正常情况下,模型仍能表现出高准确率。这种隐蔽性和针对性使得后门攻击非常难以检测和防御。 现在我们举几个例子介绍后门攻击在网络空间安全中的应用场景。 恶意软件检测:在网络安全中,恶意软件检测是一个重要应用。攻击者可以通过后门攻击技术,使得恶意软件检测模型在检测特定样本时失效。例如,攻击者可以在训练恶意软件检测模型时插入带有后门的恶意样本,使得模型在检测带有特定触发器的恶意软件时无法正确识别,从而达到隐蔽恶意软件的目的。 入侵检测系统:入侵检测系统(Intrusion Detection System, IDS)用于监测网络流量并识别潜在的入侵行为。攻击者可以在训练IDS模型时加入后门触发器,使得模型在特定条件下无法识别攻击流量。例如,攻击者可以在训练数据中插入带有特定模式的正常流量,使得模型在检测到这些模式时误判为正常,从而绕过入侵检测系统。 图像识别安全:在网络空间安全中,图像识别技术被广泛应用于身份验证和监控系统中。攻击者可以利用后门攻击,在训练图像识别模型时插入带有后门的图像样本,使得模型在识别带有特定触发器的图像时出现误判。例如,攻击者可以使得带有特定标志的非法图像被识别为合法,从而绕过安全监控系统。 可见后门攻击与网络空间安全其他领域还是存在不少交叉的。 现在我们继续来分析并实现、复现典型的深度学习后门攻击方法。 BppAttack 理论 这篇工作提出了一种名为BPPATTACK的深度神经网络(DNN)木马攻击方法。该攻击利用了人类视觉系统对图像量化和抖动处理不敏感的特性,通过这些技术生成难以被人类察觉的触发器,进而实现对DNN的高效、隐蔽的木马攻击。 现有的攻击使用可见模式(如图像补丁或图像变换)作为触发器,这些触发器容易受到人类检查的影响。比如下图就可以看到很明显的触发器。 BPPATTACK方案的核心思想是利用人类视觉系统对图像微小变化的不敏感性,通过图像量化和抖动技术生成难以被人类察觉的触发器,实现对深度神经网络(DNN)的高效、隐蔽的木马攻击。 人类视觉系统对颜色深度的变化不是特别敏感,特别是当颜色变化非常微小的时候。BPPATTACK正是基于这一生物学原理,通过调整图像的颜色深度来生成触发器。 图像量化(Bit-Per-Pixel Reduction): 图像量化是减少图像中每种颜色的比特数,从而减少图像的总颜色数量。BPPATTACK通过降低每个像素的比特深度,使用量化后的最近邻颜色值来替换原始颜色值,实现对图像的微小修改。 抖动技术(Dithering): 为了消除由于颜色量化引起的不自然或明显的图像伪影,BPPATTACK采用抖动技术,特别是Floyd-Steinberg抖动算法,来平滑颜色过渡,提高图像的自然度和视觉质量。 BPPATTACK旨在生成一种触发器,它对人类观察者来说是几乎不可察觉的,但对机器学习模型来说足够显著,能够触发预设的木马行为。这种平衡是通过精确控制量化和抖动的程度来实现的。 与需要训练额外的图像变换模型或自编码器的攻击不同,BPPATTACK不需要训练任何辅助模型,这简化了攻击流程并提高了效率。 为了提高攻击的成功率和隐蔽性,BPPATTACK采用了对比学习和对抗性训练的结合。通过这种方式,模型被训练来识别和利用量化和抖动生成的触发器,同时忽略其他不重要的特征。 量化过程涉及将原始图像的颜色深度从( m )位减少到( d )位(( d < m ))。对于每个像素值,使用以下公式进行量化: 其中: ( T(x) ) 是量化后的像素值。 ( x ) 是原始像素值。 ( m ) 是原始颜色深度的位数(每个通道)。 ( d ) 是量化后的目标颜色深度的位数。 ( \text{round} ) 是四舍五入到最近的整数。 Floyd-Steinberg Dithering:抖动算法用于改善量化后的图像质量,通过将量化误差扩散到邻近像素。对于每个像素,计算量化误差并更新周围像素: 然后,根据Floyd-Steinberg分布,更新当前像素和周围像素: BPPATTACK方案的关键在于通过量化和抖动技术生成的微小变化对人类视觉系统是不可见的,但对DNN模型是可区分的,从而实现隐蔽的木马攻击。 实现 我们来看看该方法得到的部分中毒样本 分析关键函数 Bpp 类:继承自 BadNet,添加了命令行参数处理和数据集准备功能,用于特定处理阶段。 set_bd_args 方法:配置与攻击设置相关的命令行参数。 stage1_non_training_data_prepare 方法:准备和变换数据集,设置 DataLoader,并存储阶段 1 的结果。 1. 类定义与初始化 类声明: class Bpp(BadNet): Bpp 是 BadNet 的一个子类。 构造函数 (__init__ 方法): def __init__(self):: 这是 Bpp 的初始化方法。 super(Bpp, self).__init__(): 调用父类 BadNet 的构造函数,以确保执行父类中的初始化逻辑。 2. 设置命令行参数 set_bd_args 方法: def set_bd_args(cls, parser: argparse.ArgumentParser) -> argparse.ArgumentParser:: 这个类方法用于使用 argparse 库设置命令行参数。 parser = add_common_attack_args(parser): 调用 add_common_attack_args 函数,添加与攻击相关的常见参数。 parser.add_argument(...): 添加各种命令行参数: --bd_yaml_path: 指定一个 YAML 文件的路径,用于提供额外的默认属性。 --neg_ratio, --random_rotation, --random_crop, --squeeze_num, --dithering: 各种与攻击配置相关的参数,如负比率、旋转、裁剪、压缩和抖动。 返回值: 返回更新后的 parser 对象,其中包含所有添加的参数。 3. 准备第一阶段的数据 stage1_non_training_data_prepare 方法: def stage1_non_training_data_prepare(self):: 这个方法用于准备第一阶段的数据。 日志记录与断言: logging.info("stage1 start"): 记录阶段 1 的开始。 assert "args" in self.__dict__: 确保 args 属性存在于实例中。 数据集准备: train_dataset_without_transform, train_img_transform, train_label_transform, 等变量:这些变量被赋值为调用 self.benign_prepare() 的结果,该方法用于准备数据集和变换。 clean_train_dataset_with_transform.wrap_img_transform = test_img_transform: 将训练数据集的图像变换更新为与测试数据集的图像变换一致。 DataLoader 初始化: clean_train_dataloader: 一个用于清洁训练数据集的 DataLoader,应用了变换。 clean_train_dataloader_shuffled: 一个用于清洁训练数据集的 DataLoader,但数据是打乱的。 clean_test_dataloader: 一个用于清洁测试数据集的 DataLoader。 存储结果: self.stage1_results: 存储各种数据集和 DataLoader 以备阶段 1 进一步使用。 这段代码是一个神经网络训练和评估的流程,具体针对的是后门攻击(backdoor attack)的研究 初始化: 代码开始时,记录训练阶段2的开始时间。 通过断言检查 self 对象中是否包含 args 属性,获取训练参数。 设备选择: 根据是否有可用的 GPU 来设置计算设备。如果 args.device 包含多个设备(例如 "cuda:2,3,7"),则使用 torch.nn.DataParallel 来并行计算。 模型生成: 调用 generate_cls_model 函数生成分类模型 netC,并将其移动到指定的设备上。 优化器和学习率调度器: 调用 argparser_opt_scheduler 函数获取优化器和学习率调度器。 数据预处理: 过滤出可逆的图像变换(如标准化、缩放、转换为张量)。 创建干净和背门攻击的数据集,分别保存处理后的数据集。 训练数据处理: 遍历干净训练数据,通过反归一化得到原始图像。 根据攻击标签转换类型("all2one" 或 "all2all")来生成背门攻击数据。 处理数据集中的每一批次,并将干净样本和背门样本保存到数据集中。 测试数据处理: 对测试数据进行类似的预处理和保存操作,包括处理干净测试数据和背门测试数据。 评估背门效果,并根据攻击标签转换类型生成相应的标签和数据。 负样本生成: 如果指定了负样本比率(neg_ratio),生成负样本数据。这些负样本用于评估背门攻击的效果。 将负样本与其他数据合并,并保存处理后的数据。 模型训练和评估: 对每个 epoch 执行训练和评估步骤。记录训练损失、准确率、背门攻击成功率等指标。 将每个 epoch 的训练和测试结果保存到列表中,并绘制训练和测试指标的图表。 模型保存和结果输出: 在训练周期结束时保存模型状态、学习率调度器状态、优化器状态等。 将训练和测试结果保存到 CSV 文件中,并生成最终的攻击结果数据。 完成: 输出“done”表示训练和保存过程已完成。 每个步骤都有明确的目标,从数据处理到模型训练,再到最终结果保存,涵盖了整个训练和评估的过程。 这段代码包含了两个主要的函数:train_step 和 eval_step。它们分别用于训练和评估模型 train_step 函数 功能: 执行一个训练步骤,处理数据、计算损失、更新模型权重,并计算各种指标。 初始化: 记录日志,设置模型为训练模式。 获取训练参数,包括背门比率(rate_bd)和压缩数(squeeze_num)。 初始化交叉熵损失函数(criterion_CE)和数据转换对象(transforms)。 初始化一些用于记录的列表。 数据处理: 对每个批次的数据进行处理: 清空优化器的梯度。 将输入数据和目标标签移动到指定设备(GPU/CPU)。 计算背门样本和负样本的数量。 根据是否存在背门样本和负样本,生成相应的数据: 背门样本: 对背门样本进行处理(如抖动处理)并生成标签。 负样本: 生成负样本数据并合并到训练数据中。 处理数据集中的每一批次,将背门样本和负样本合并到一起。 应用数据转换函数。 模型训练: 计算模型的预测结果,并记录计算时间。 计算损失,进行反向传播,更新优化器。 记录每个批次的损失、预测结果、标签等信息。 计算指标: 计算每个 epoch 的平均损失和准确率。 根据背门样本、负样本和干净样本的指标,计算背门攻击成功率(ASR)、干净样本准确率等。 返回: 返回训练过程中的各种指标:平均损失、混合准确率、干净样本准确率、背门攻击成功率、背门样本恢复准确率、交叉样本准确率。 eval_step 函数 功能: 执行模型评估,计算不同数据集(干净数据集、背门数据集、交叉数据集等)的损失和准确率。 清洁测试数据集评估: 使用 given_dataloader_test 函数评估干净测试数据集,获取损失和准确率。 背门数据集评估: 使用 given_dataloader_test 函数评估背门测试数据集,获取损失和准确率。 背门样本恢复(RA)数据集评估: 对背门样本恢复数据集进行转换和评估,获取损失和准确率。 交叉数据集评估: 使用 given_dataloader_test 函数评估交叉测试数据集,获取损失和准确率。 返回: 返回不同数据集的损失和准确率:干净测试集损失和准确率、背门测试集损失和准确率、交叉测试集损失和准确率、恢复测试集损失和准确率。 这些函数一起构成了一个完整的训练和评估流程,涵盖了数据处理、模型训练、指标计算和评估等多个方面。 开始进行后门注入 攻击配置如下所示 训练期间的部分截图如下 也可以查看acc的变化情况 可以看到主要关注的指标都在稳步上升 以35epoch为例,此时的后门攻击成功率达到了0.98,而深度学习模型执行正常任务的准确率达到了0.91 FTrojan 理论 FTrojan攻击的核心思想是在频率域中注入触发器。这种方法利用了两个关键直觉: 在频率域中的小扰动对应于整个图像中分散的小像素级扰动,这使得图像在视觉上与原始图像难以区分。 卷积神经网络(CNN)能够学习并记住频率域中的特征,即使输入的是空间域像素。 FTrojan攻击包括以下步骤: 将图像从RGB色彩空间转换到YUV色彩空间,因为人的视觉系统对YUV中的UV(色度)分量不那么敏感。 对图像的UV分量进行离散余弦变换(DCT),将其从空间域转换到频率域。 在频率域中生成触发器,选择固定大小的频率带作为触发器。 应用逆DCT将图像从频率域转换回空间域。 最后,将图像从YUV色彩空间转换回RGB色彩空间。 我们来分析关键细节 FTrojan攻击方法的核心在于利用频率域的特性来注入难以被检测到的后门触发器。 颜色空间转换(RGB到YUV): 使用线性变换将RGB图像转换为YUV空间。YUV空间将颜色图像分解为亮度(Y)和色度(U, V)分量。人的视觉系统对色度分量的变化不如亮度分量敏感,因此在色度分量中注入触发器对视觉的影响较小。 离散余弦变换(DCT): 对YUV空间中的U和V分量应用DCT,将图像从空间域转换到频率域。DCT将图像表示为不同频率的余弦函数的集合,能量集中在低频部分,高频部分则包含图像的边缘和细节信息。 DCT公式如下: 其中,(X(u, v))是DCT系数,(x(x, y))是图像在空间域的像素值,(M)和(N)是图像的宽度和高度,(u)和(v)是频率索引。 触发器生成: 在频率域中选择特定的频率带作为触发器。触发器的频率和幅度是两个关键参数: 触发器频率:选择中频和高频带的组合,以平衡人类视觉感知的敏感性和触发器的鲁棒性。 触发器幅度:选择适中的幅度以确保触发器对CNN是可学习的,同时对人类视觉系统是不可见的。 逆离散余弦变换(Inverse DCT): 使用逆DCT将修改后的频率域图像转换回空间域,得到注入了后门触发器的图像。 逆DCT公式如下: 颜色空间转换(YUV回到RGB): 最后,将修改后的YUV图像转换回RGB空间,因为大多数CNN模型是在RGB空间上训练的。 完整的攻击流程如下图所示 下图是本方法生成的中毒样本与触发器,可以看到是具有一定隐蔽性的 下图是通过 FTrojan 攻击来得到的中毒图像。混频将触发器混合在中频和高频成分中。我们可以观察到,当触发器存在于具有适中幅度的高频和中频成分中时,中毒图像在视觉上很难被检测到。 复现 攻击类 这段代码定义了一个 Ftrojann 类,继承自 BadNet。下面是代码的功能解释: set_bd_args 方法: 这个方法用于设置命令行参数。它接受一个 argparse.ArgumentParser 对象作为输入,并返回一个更新后的 ArgumentParser 对象。 add_common_attack_args(parser) 是一个函数调用,可能会向 parser 中添加一些通用的攻击相关参数。 添加了多个特定参数: --channel_list:接收一个整数列表,代表频道列表。 --magnitude:接收一个浮点数,表示强度。 --YUV:接收一个布尔值,表示是否使用 YUV 格式。 --window_size:接收一个整数,表示窗口大小。 --pos_list:接收一个整数列表,表示位置列表。 --bd_yaml_path:接收一个字符串,指定 YAML 文件的路径,该文件提供附加的默认属性。默认路径是 ./config/attack/ftrojann/default.yaml。 add_bd_yaml_to_args 方法: 这个方法用于将 YAML 文件中的默认属性添加到 args 参数中,并进行一些额外的处理。 从 args.bd_yaml_path 指定的路径读取 YAML 文件内容,解析为字典 mix_defaults。 将 args 对象中非 None 的参数更新到 mix_defaults 中。 将 args 对象的 __dict__ 属性(存储了所有参数)更新为合并后的字典。 检查 pos_list 的长度是否为偶数,如果不是,抛出 ValueError。 将 pos_list 转换为一对一对的元组列表,例如,将 [x1, y1, x2, y2] 转换为 [(x1, y1), (x2, y2)]。 着重查看对于数据集的处理代码 这个类的主要功能是处理带有后门攻击的图像数据集,支持图像和标签的预处理、状态恢复和复制。 这段代码定义了一个名为 prepro_cls_DatasetBD_v2 的 PyTorch 数据集类。这个类扩展了 torch.utils.data.Dataset,用于处理带有后门攻击(backdoor attack)的数据集 __init__ 方法: 参数: full_dataset_without_transform: 原始数据集,没有应用任何变换。 poison_indicator: 一个可选的序列,表示哪些图像需要应用后门变换(使用 one-hot 编码)。默认为 None,如果没有提供,则初始化为全零的数组。 bd_image_pre_transform: 应用在图像上的后门变换函数。 bd_label_pre_transform: 应用在标签上的后门变换函数。 save_folder_path: 保存后门图像的文件夹路径。 mode: 当前模式,默认为 'attack'。 操作: 初始化数据集和相关属性。 检查 poison_indicator 的长度是否与数据集长度匹配。 如果 poison_indicator 中的值大于等于 1,则调用 prepro_backdoor() 方法进行后门数据预处理。 设置其他属性,如 getitem_all 和 getitem_all_switch,用于控制数据集的取值方式。 prepro_backdoor 方法: 对所有需要后门变换的样本进行处理。 遍历数据集的所有索引,如果 poison_indicator 表示该样本需要变换,则应用图像和标签的变换,并调用 set_one_bd_sample() 方法保存变换后的样本。 set_one_bd_sample 方法: 将图像和标签变换后的样本保存到 bd_data_container 中。 确保图像被转换为 PIL 图像格式(如果不是的话)。 更新 poison_indicator,标记该样本为后门样本。 __len__ 方法: 返回数据集中样本的总数。 __getitem__ 方法: 根据索引获取样本。 如果样本是干净的(poison_indicator 为 0),则从原始数据集中获取图像和标签。 如果样本是后门的(poison_indicator 为 1),则从 bd_data_container 中获取图像和标签。 根据 getitem_all 和 getitem_all_switch 的设置,返回不同格式的数据。 subset 方法: 根据给定的索引列表更新 original_index_array,从而选择数据集的子集。 retrieve_state 方法: 返回当前对象的状态,包括 bd_data_container、getitem_all、getitem_all_switch、original_index_array、poison_indicator 和 save_folder_path。 copy 方法: 创建一个 prepro_cls_DatasetBD_v2 的副本。 深度复制当前对象的状态,并设置到新副本中。 set_state 方法: 根据提供的状态文件恢复对象的状态。 包括恢复 bd_data_container 和其他属性。 在我们的实现中得到的部分中毒样本如下所示 注入后门 攻击配置 后门注入期间的部分截图如下所示 以第38个epoch为例,此时的后门攻击成功率达到了接近100%,而正常任务的准确率达到了0.91 CTRL 理论 之前我们提到的后门攻击都是通过监督学习的方式实现的,这一节我们来分析自监督学习后门攻击。 自监督学习(SSL)是一种无需标签即可学习复杂数据高质量表示的机器学习范式。SSL在对抗性鲁棒性方面相较于监督学习有优势,但是否对其他类型的攻击(如后门攻击)同样具有鲁棒性尚未明确。 CTRL攻击通过在训练数据中掺入少量(≤1%)的投毒样本,这些样本对数据增强操作具有抗性,使得在推理阶段,任何含有特定触发器的输入都会被错误地分类到攻击者预定的类别。 触发器 ( r ) 是一种在输入数据的频谱空间中的扰动,它对数据增强(如随机裁剪)不敏感。触发器的设计使其在视觉上几乎不可察觉,但在频域中具有特定的模式。 假设攻击者可以访问到一小部分目标类别的输入样本集 ( \tilde{D} )。 通过在这些样本上添加触发器 ( r ) 来生成投毒数据 ( D^* )。 嵌入:将触发器 ( r ) 嵌入到输入 ( x ) 中,形成触发输入 ( x^* = x \oplus r )。这里 ( \oplus ) 表示触发器嵌入操作。 激活:在推理时,攻击者可以调整触发器的幅度来激活后门,而不影响模型对清洁数据的分类性能。 SSL中的对比损失函数旨在最小化正样本对(相同输入的不同增强视图)之间的距离,同时最大化负样本对(不同输入)之间的距离。对比损失可以表示为: 其中,( f ) 是编码器,( x_i ) 和 ( x_j ) 是正样本对,( y_{ij} ) 是指示器(如果 ( x_i ) 和 ( x_j ) 是正样本对,则为1,否则为0),( \tau ) 是温度参数。 CTRL攻击利用了SSL的表示不变性属性,即不同增强视图的同一输入应具有相似的表示。数学上,这可以表示为: 这里,( x^* ) 是触发输入,( x^+ ) 是增强后的正样本,( r ) 是触发器,( \alpha ) 是混合权重。 通过调整触发器的幅度,攻击者可以控制攻击的效果。 完整的攻击流程如下图所示 下图演示了触发器的生成流程 复现 分析关键代码 ctrl类的stage1_non_training_data_prepare` 方法负责准备背门攻击的数据,包括训练和测试数据集的生成。它先从干净数据中准备基础数据,然后生成背门样本,最后创建背门训练和测试数据集,并将结果保存以备后续使用。这一过程涵盖了从数据预处理到背门攻击数据的生成,并最终包装成适合训练和评估的格式。 这段代码是一个名为 ctrl 的类的定义,它继承自 BadNet 类。主要功能是准备阶段1的数据,包括生成后门攻击数据和测试数据 1. set_bd_args 方法 功能: 设置用于背门攻击的命令行参数。 bd_yaml_path: 指定 YAML 配置文件的路径。 use_dct: 布尔值,指示是否使用 DCT(离散余弦变换)。 use_yuv: 布尔值,指示是否使用 YUV(视频色彩空间)。 trigger_channels: 触发器的通道。 pos_list: 触发器的位置。 2. stage1_non_training_data_prepare 方法 功能: 准备数据,包括清洁训练数据、背门训练数据和测试数据。 初始化: 记录日志并确保 args 存在。 从 benign_prepare 方法中获取不同的数据集和转换方法。 生成背门数据集: 调用 bd_attack_img_trans_generate 和 bd_attack_label_trans_generate 方法生成背门数据集所需的图像和标签转换。 使用 generate_poison_index_from_label_transform 方法生成训练数据中的背门样本索引。 保存背门样本索引到文件。 创建背门训练数据集: 使用 prepro_cls_DatasetBD_v2 方法生成背门训练数据集,并应用转换。 创建数据集包装器 dataset_wrapper_with_transform。 生成背门测试数据集: 使用 generate_poison_index_from_label_transform 方法生成测试数据中的背门样本索引。 使用 prepro_cls_DatasetBD_v2 方法生成背门测试数据集,并应用转换。 使用 subset 方法筛选测试数据集中的背门样本。 保存结果: 将准备好的数据集保存到 self.stage1_results 中。 执行 攻击配置如下 训练期间部分截图如下 可以看到,CTRL在后门攻击成功率上稍低,比如在第59个epoch时,攻击成功率为0.93,正常任务准确率为0.93。
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页