草庐IT

为什么政府官员和机构不断被黑客入侵?

在网安冲浪 2023-03-28 原文
如果水门事件发生在今天,也许尼克松团队根本不需要潜入办公室进行物理窃听。如今的秘密情报工作借助网络,在屏幕后远程部署就能侵入目标的电子设备,获取机密信息。

在过去的十年中,网络攻击变得更具破坏性,影响范围更广,甚至在许多情况下更具政治性。各国政首和政要的私人信息和设备被间谍软件入侵,造成隐私信息泄露的事件时有发生;政府机构则不仅面临间谍软件,还包括勒索软件的双重攻击。在网络攻击指数级增长的当下,各国将网络安全视为国家安全的关键挑战。

数国元首遭网络攻击,窃取机密信息

近年来,数十名政府官员的手机遭到黑客攻击,包括法国总统埃马纽埃尔·马克龙、西班牙总理佩德罗·桑切斯、英国首相鲍里斯·约翰逊的工作人员、英国前首相利兹·特拉斯、欧盟司法专员以及美国外交官等。

这些政要手机上被安装的通常是以色列公司NSO Group的Pegasus软件(飞马间谍软件)。Pegasus可以在受害者不知情的情况下感染目标设备并访问个人数据,还可以远程启用摄像头和麦克风。据了解,2021年马克龙更换了手机并更改了电话号码,据称他的号码在Pegasus的某个监视名单上。

2022年10月30日,英国前首相利兹·特拉斯(Liz Truss)的私人手机被网络间谍入侵。据《每日邮报》报道,利兹·特拉斯和25名英国内阁部长的个人手机号码、邮件地址、密码和其他个人信息在美国网站上曝光。

据称该网站上包含14亿件被盗数据,一些文件可以追溯到十多年前的攻击事件,而公众能够轻而易举地获取这些信息,该网站每周只需6.49英镑(7.25美元)即可订阅其数据库。

虽然黑客攻击的细节尚不清楚,但据信攻击者下载了长达一年的录音,包括特拉斯及其政治盟友夸西·克沃腾批评约翰逊的私人谈话,以及特拉斯“与高级国际外交部长就乌克兰战争进行的高度敏感讨论,包括关于武器运输的详细讨论”。

据了解,该事件早在当年夏季首相选举时就已被发现,但时任外交部长的特拉斯正在角逐保守党党魁和下任首相,时任首相鲍里斯·约翰逊决定压下此事。据报道,黑客获得的消息包括特拉斯 。

对英国情报部门来说,特拉斯和内阁大臣的私人手机如此轻易地被入侵,显然不太好看。但英国政府发言人坚称,英国政府拥有“强大的系统来防范网络威胁”。

政府机构频遭攻击

除了各国政要,政府机构也经常遭遇黑客攻击。2020年末,俄罗斯情报机构利用SolarWinds软件包中的漏洞入侵了美国国务院、国土安全部、五角大楼的部分地区以及数十个联邦机构。

国家级政府机构通常是黑客攻击的首要目标,但攻击者也经常瞄准地方政府,而地方政府通常因为防御薄弱而产生较大的影响。2023年2月,新西兰奥克兰市因勒索软件攻击导致所有IT系统脱机,不得不宣布进入紧急状态。

美国战略与国际研究中心(Center for Strategic and International Studies)保留了一份重大网络事件清单,基本上每个月都有针对世界各地政府机构的重大攻击。网络安全公司CloudSek的最新报告也指出,与2021年同期相比,2022年下半年全球针对政府部门的攻击数量增加了95%。报告显示,过去两年,印度、美国、印度尼西亚和中国是最受攻击的国家,占全球政府部门攻击事件的40%。

2021至2022年全球针对政府部门的攻击数量

CloudSek观察到,攻击政府机构和组织的威胁主体在过去两年中保持不变。Kelvin Security、Against The West、PoCExploiter Admin、LockBit和Holistic-K 1ller是2022年的前五大威胁主体。

2022年攻击政府机构的前五大威胁团伙

这里简要介绍前两大威胁团伙。Kelvin Security通常以Kristina的名义运作,该组织通常利用fuzzing技术和常见的漏洞来锁定受害者,对工具的使用驾轻就熟并且对漏洞有非常深入的研究。通常该组织瞄准的对象都是有共同的基础技术或基础设施。他们在网络犯罪论坛和通信渠道(如Telegram)上公开分享新的漏洞、目标和数据库等信息,还经常分享其工具清单和有效载荷。

Against The West发现于2021年10月,又称APT49或BlueHornet。该组织持续利用一组常见的漏洞和poc入侵特定地区的数据并在暗网出售,其攻击范围包括中国、俄罗斯和欧洲。值得注意的是,2021年,针对中国政府机构95.7%的攻击来自Against The West。

攻击者的三大动机

为何政府官员和政府机构总是被黑客攻击?根据CloudSek报告,窃取数据、入侵系统、黑客主义(hacktivism,泛指因政治或社团目的而产生的黑客行为)是针对政府部门攻击的前三大动机,分别占比62.7%、13.5%和8.8%。

2022年政府机构攻击动机占比

政府机构和组织收集和存储大量数据,包括敏感机密信息和大量公民个人信息,这些数据庞大而真实,黑客窃取数据后发布到暗网高价售卖谋取暴利。根据IBM的一份报告,政府等公共部门的平均违规总成本从从193万美元增加到207万美元,增幅达7.25%。

此外,如果涉及国家安全和军事数据或系统,则要警惕被恐怖组织或敌对势力利用进行间谍行为的风险。

紧张的地缘政治局势也经常引起黑客主义网络攻击。自2022年2月24日俄乌冲突爆发以来,两国之间的网络攻击愈发频繁,俄罗斯背景的APT组织Primitive Bear自2013年就开始瞄准乌克兰组织,针对乌克兰政府、军队和执法部门,在冲突发生前后,更是组织了多次网络行动。

印度和巴基斯坦、伊朗和以色列的地缘局势也长期处于紧张状态,两国之间持续性发生网络攻击行为。2022年6月,巴基斯坦黎明报(DAWN)称,一个总部位于印度的黑客团伙针对巴基斯坦政客、军事官员和外交官进行攻击,监听其设备信息以方便情报工作。

根据网络安全公司Sophos的一份报告,地方政府之所以经常成为目标,因为其防御薄弱、IT预算和IT人员有限、计算机系统老化、代码过时,导致黑客能够轻而易举地攻破其防线。与私营组织相比,政府IT部门通常不堪重负,黑客更容易侵入并安装勒索软件。而规模较大的政府部门虽然网络安全防御更严格,但其吸引黑客之处在于其丰厚的部门资金和公共资金。

应对之策

政府机构和组织需要提高网络安全能力,培养强大的检测、响应、侦察和恢复能力,对数据全流程和IT基础设施有清晰的认知和掌握,开启访问控制,确保数据和关键基础设施不受威胁者的影响。

网络攻击的数量呈指数级增长意味着政府不仅需要抵御网络攻击,而是需要转变为零信任模式,即预先假设用户身份或网络本身可能会被盗,主动地验证用户活动的真实性。政府应该不断监测暗网和已知的威胁者,了解他们最新的TTPs,并采取措施预先阻止攻击;还应该主动监测基础设施、网络漏洞和可疑行为。除了传统的渗透测试外,政府还应该关注漏洞赏金计划和漏洞披露计划。

有关为什么政府官员和机构不断被黑客入侵?的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  7. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  8. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  9. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  10. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

随机推荐