课程:《密码与安全新技术专题》javascript
班级: 1892php
姓名: 王子榛html
学号:20189206前端
上课教师:张健毅java
上课日期:2019年2月25日node
网络化社会git
经过以上信息技术的发展阶段,信息安全伴随着通讯技术的出现而出现而且一直是信息技术中不可忽视的重中之重。web
以上信息安全技术的变化预示着攻击方式的改变:可探测->可访问->可掌控算法
震网攻击 出现标志着物理隔离也再也不安全sql
震网病毒又名Stuxnet病毒,是一个席卷全球工业界的病毒。
震网(Stuxnet)病毒于2010年6月首次被检测出来,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫”病毒,好比核电站,水坝,国家电网。互联网安全专家对此表示担忧。
做为世界上首个网络“超级破坏性武器”,Stuxnet的计算机病毒已经感染了全球超过 45000个网络,伊朗遭到的攻击最为严重,60%的我的电脑感染了这种病毒。计算机安防专家认为,该病毒是有史以来最高端的“蠕虫”病毒。蠕虫是一种典型的计算机病毒,它能自我复制,并将副本经过网络传输,任何一台我的电脑只要和染毒电脑相连,就会被感染。
APT攻击 高等级持续性攻击
APT(Advanced Persistent Threat)是指高级持续性威胁,本质是针对性攻击。 利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式,APT攻击的原理相对于其余攻击形式更为高级和先进,其高级性主要体如今APT在发动攻击以前须要对攻击对象的业务流程和目标系统进行精确的收集。在此收集的过程当中,此攻击会主动挖掘被攻击对象受信系统和应用程序的漏洞,利用这些漏洞组建攻击者所需的网络,并利用0day漏洞进行攻击。
APT入侵客户的途径多种多样,主要包括如下几个方面。
——以智能手机、平板电脑和USB等移动设备为目标和攻击对象继而入侵企业信息系统的方式。
——社交工程的恶意邮件是许多APT攻击成功的关键因素之一,随着社交工程攻击手法的日益成熟,邮件几乎真假难辨。从一些受到APT攻击的大型企业能够发现,这些企业受到威胁的关键因素都与普通员工遭遇社交工程的恶意邮件有关。黑客刚一开始,就是针对某些特定员工发送钓鱼邮件,以此做为使用APT手法进行攻击的源头。
——利用防火墙、服务器等系统漏洞继而获取访问企业网络的有效凭证信息是使用APT攻击的另外一重要手段。
总之,高级持续性威胁(APT)正在经过一切方式,绕过基于代码的传统安全方案(如防病毒软件、防火墙、IPS等),并更长时间地潜伏在系统中,让传统防护体系难以侦测。
xcodeGhost
Xcode Ghost,是一种手机病毒,主要经过非官方下载的 Xcode 传播,可以在开发过程当中经过 CoreService 库文件进行感染,使编译出的 App 被注入第三方的代码,向指定网站上传用户数据。
也就是说,开发者下载的非官方途径的Xcode带有XcodeGhost 病毒。
经过Xcode从源头注入病毒Xcode Ghost,是一种针对苹果应用开发工具Xcode的病毒。它的初始传播途径主要是经过非官方下载的 Xcode 传播,经过 CoreService 库文件进行感染。当应用开发者使用带毒的Xcode工做时,编译出的App 都将被注入病毒代码,从而产生众多带毒APP。
因为程序中对用户输入检查不严格,用户能够提交一段数 据库查询代码,根据程序返回的结果,得到某些他想得知 的数据,这就是所谓的SQL Injection,即SQL注入。
恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
XSS, 即为(Cross Site Scripting), 中文名为跨站脚本, 是发生在目标用户的浏览器层面上的,当渲染DOM树的过程成发生了不在预期内执行的JS代码时,就发生了XSS攻击。
跨站脚本的重点不在‘跨站’上,而在于‘脚本’上。大多数XSS攻击的主要方式是嵌入一段远程或者第三方域上的JS代码。其实是在目标网站的做用域下执行了这段js代码。
分类
CSRF(Cross-site request forgery)跨站请求伪造 。
攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF可以 作的事情包括:以你名义发送邮件,发消息,盗取你的帐号, 甚至于购买商品,虚拟货币转帐......形成的问题包括:我的隐私 泄露以及财产安全。
解析漏洞就是web容器将其余格式的文件解析为可执行脚本语言,攻击者能够利用这个特征去执行一些攻击行为。
弱口令(weak password) 没有严格和准确的定义,一般认为容易被别人(他们有可能对你很了解)猜想到或被破解工具破解的口令均为弱口令。
弱口令指的是仅包含简单数字和字母的口令,例如“123”、 “abc”等,由于这样的口令很容易被别人破解,从而使用户的计 算机面临风险,所以不推荐用户使用。
提到了国外的strava户外运动健身软件使用手机的GPS功能追踪用户什么时候何地进行锻炼,其发布的数据可视化图标上三万亿个经纬度点用户进行的活动能够轻易泄露军事基地的位置和人员位置信息。
“黄金眼产品”患者手机只要处于开启状态,就能够得到患者的用户画像包括性别、年龄、职业、搜索记录,家庭住址等。
问题1解决方案: 因为我本科所学专业是物联网涉及知识较多,不少知识并无很深刻的了解,本次讲座也详细系统地讲解了web安全和内容安全的相关知识。首先我须要掌握的概念就是什么是web标准,web标准是如何定义的,针对与这个问题我查找了百度百科。
WEB标准不是一某一个标准,而是一系列标准的集合。这些标准大部分由万维网联盟(外语缩写:W3C)起草和发布,也有一些是其余标准组织制定的标准。好比ECMA(Europe Computer Manufacturers Association)的ECMAScript标准。
网页主要由三部分组成:
结构(Structure)
表现(Preseentation)
行为(Behavior)
对应的标准也分三方面:
结构化标准语言主要包括XHTML和XML
表现标准语言主要包括CSS
行为标准语言主要包括对象模型(如W3C DOM)、ECMAScript等
问题2解决方案: 本学期还选择了网络攻防这门课,一开始就对渗透测试这个名词很好奇。渗透,顾名思义就是逐步深刻的意思,经过百度、参考课本等方式,对渗透测试有了初步的了解,可是具体渗透测试所要通过的步骤,如何才是一个好的渗透测试,都是须要继续学习。
渗透测试是经过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,而且从这个位置有条件主动利用安全漏洞。
问题3解决方案: 这个漏洞不是很懂,主要是由于不了解这个技术,通过百度,知道Struts2是一个基于MVC设计模式的Web应用框架,本质上至关于一个servlet,在MVC的设计模式中,Struts2做为Controller来创建模型与视图的数据交互。
MVC模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑汇集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不须要从新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
看到这里又要问什么是web容器?web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器能够有多个容器。
Struts2漏洞:Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,致使系统被黑客入侵。恶意用户可在上传文件时经过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。
听完张健毅老师的讲座,对网络安全有了必定的了解,经过网络安全与隐私安全两个方面的相关知识的介绍以及对最后机器学习的大体了解, 有些内容因为之前本科时并无接触过,因此不是特别明白,知识大体知道其原理,若是真的想在这一领域方向进行研究仍是须要从基础的知识学起,只有掌握了其中的基础知识才能进一步了解在网络安全这方面应该如何继续深刻,网络攻防一直以来是经久不衰的话题,学习网络攻防,须要有多方面的知识,涉及知识面广,多看书,多看文献才能从中了解到最新的研究现状,并找到学习的入口点。
老师在课上举出的许多例子也十分发人深思,在技术飞速发展的今天,隐私保护难上加难,许多时候在咱们本身不经意间就泄露了我的信息,因此我认为,保护隐私首先要学习隐私的保护方法,利用技术手段克制技术手段。同时随着大数据、云计算的发展,咱们须要学会利用数据,来不断提高技术手段。
Didn’t You Hear Me? — Towards More Successful Web Vulnerability Notifications |
针对于现存的安全威胁,主要因为系统中存在的诸多漏洞,攻击每每都是经过安全漏洞进行,因此,修复漏洞是一个十分必要的环节。老师在课上也介绍了许多常见的web漏洞,查阅相关资料,网络攻防的周期中0day攻击是尚未补丁漏洞,攻击者利用漏洞进行攻击。
即关注点不该仅仅局限于如何查找漏洞,更是应该找到一种快速通知漏洞给受众的方式。(文章这里是指存在漏洞易受到攻击的系统或网站的管理员,如何精确快速地通知到他们并让管理员及时采起有效的措施)
这篇论文主要研究关于漏洞通知的方式,如何进行安全通知使漏洞获得及时的修复,在以往的漏洞通知方式中,存在的问题仍然是修复不及时,这也正是最大的安全威胁。文章分析了哪些技术和人是阻碍大规模披露漏洞的,好比电子邮件中的垃圾邮件过滤、收件人缺少信任、有意识但在修复漏洞方面犹豫不决,最终肯定出将来如何改进安全通知的方式。
做者经过大规模地群发全自动邮件、不一样沟通渠道手动通知等方式,最后进行匿名调查,总结出的如何进行更加有效的安全漏洞通知的方式的报告。
在利用电子邮件通知漏洞的时候,最好的方式是用WHOIS技术联系管理员是当下最有效的方法。在对比了手动通知会消耗的人力物力、设立基础架构以大规模检测漏洞的方式等给前端加载的费用问题、全自动化方法产量不理想等,现下最有效的方式仍然是发送邮件,在WHOIS技术的支持下,创建良好的信任和相互合做关系。
经过这篇论文,我可以知道的是随着大量应用的出现,应用中大规模漏洞的披露也不少,针对漏洞的及时修复相当重要,如今有不少工具可以方便地发现系统存在的漏洞,因此如何可以快速通知管理员及时修补漏洞是提高总体系统安全的重要方法。
Synode: Understanding and Automatically Preventing Injection Attacks on Node.js |
关于注入攻击老师上课也讲了不少,因而我找了一篇关于注入攻击的论文,这篇论文的主旨是理解并在NODE.JS上执行JavaScript代码所带来的注入攻击危害,经过自动化手段抵御注入攻击。本文介绍了一项涵235,850的大规模研究Node.js模块用于探索注入漏洞。并提出了我一种自动缓解技术Synode,它结合了静态分析和运行时实施
安全策略如何安全使用易受攻击的模块办法。关键的想法是静态计算模板传递给易于注入的API的值,并从中综合基于语法的运行时策略这些模板。
Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言分庭抗礼的脚本语言。 发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。Node是一个基于Chrome JavaScript运行时创建的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,很是适合在分布式设备上运行数据密集型的实时应用。
JavaScript做为Web应用程序客户端最普遍使用的编程语言,其中超过90%的网站都在使用,利用其开发的服务器和桌面应用程序Node.js,移动编程甚至是操做系统……其普遍的使用得益于强大的可复用性,但可复用性也会致使新类型的漏洞和攻击变得更多,文章完全研究了在Node.js上执行JavaScript特有的安全问题:eval API以及exec API
基本思想是:基本思想是检查全部第三方模块做为其安装的一部分并重写它们以启用本文提出的安全模式。两种策略的混合做为重写的一部分应用。
Seeking Nonsense, Looking for Trouble: Efficient Promotional-Infection Detection through Semantic Inconsistency Search |
文章主要介绍了Promotional infection促销感染应该如何防治,Promotional infection是指对手利用网站的弱点注入非法广告内容,检测这种感染具备挑战性,由于这种非法广告和合法广告十分类似。做者发现这种攻击每每在感染者之间产生很大的语义差距,基于语义差距开发出语义不一致性搜索,用于高效准确地检测出非法广告对顶级域名进行的注入。方法是使用天然语言处理(NLP)来识别“bad terms”,这些不相关的坏术语用于在sTLD下查询搜索引擎以查找可疑域。
促销感染是一种利用弱点的攻击一个促进内容的网站。它已被用来服务各类恶意在线活动(例如,黑帽搜索引擎优化(SEO),网站污损,假冒防病毒(AV)促销,网络钓鱼)经过各类利用渠道(例如,SQL注入,URL重定向攻击和博客/论坛垃圾邮件)。
I Think They’re Trying to Tell Me Something: Advice Sources and Selection for Digital Security |
用户天天都会收到大量的数字和物理安全建议。实际上,若是实施了收到的全部安全建议,就永远不会离开家或使用互联网。相反,用户有选择地选择一些建议接受和一些(大多数)拒绝;然而,目前尚不清楚它们是否有效地优先考虑最重要或最有用的东西。若是可以从哪里以及为何理解用户采起安全建议,能够开发更有效的安全干预措施。
做为第一步,对人口统计学上普遍的用户群进行了25次半结构式访谈。这些访谈产生了一些有趣的发现:(1)参与者根据建议来源的可信度评估了数字安全建议,但基于对建议内容的直观评估评估了物理安全建议; (2)精心设计的虚构叙事中描绘的负面安全事件具备相关的特征,多是数字和物理安全行为的有效教学工具; (3)参与者因多种缘由拒绝了建议,包括发现建议包含过多的营销材料或威胁他们的隐私。
研究结果代表,用户认为他们缺少评估数字安全建议内容的技能,而必须依赖于在肯定是否接受建议时对建议来源的可信度进行评估。他们信任的来源包括他们的工做场所,数字服务提供商,IT专业人士,家庭成员和朋友。的参与者也依赖媒体做为建议的来源,但前提是它经过了启发式可信度测试。
其次,发现用户拒绝安全建议有一些使人惊讶的缘由,包括包含太多的营销信息和威胁用户的隐私感。此外,大多数参与者认为某人或其余人在至少一个数字域(例如,网上银行)中对其安全性负责。
第三,发现证据代表电视节目或电影中的负面体验的小插曲可能可以将相似经理中的行为改变为直接经历的负面体验。所以,经过进一步研究测试虚构的负面事件小插曲在安全行为变化中的功效,或许可以开发出一种新颖,高效的干预措施。
Towards Realistic Threat Modeling: Atack Commodification, Irrelevant Vulnerabilities, and Unrealistic Assumptions |
当前的威胁模型一般考虑攻击者能够穿透系统的全部可能方式,并根据某个度量(例如,折衷时间)将几率分配给每一个路径。 在本文中做者讨论这种观点如何阻碍当前威胁建模的技术(例如攻击图)和战略(例如博弈论)方法的真实性,并建议经过更仔细地观察攻击特征和攻击者环境来避开。 做者使用玩具威胁模型进行ICS攻击,以显示如何经过对攻击阶段和攻击者限制的简单分析来呈现真实的攻击实例视图。
威胁建模是指利用抽象来帮助思考风险,经过识别目标和漏洞来优化系统安全,而后定义防范或减轻系统威胁的对策的过程。现代威胁建模从潜在的攻击者的角度来看待系统,而不是防护者的观点。威胁建模能够在软件设计和在线运行时进行, 按照“需求-设计-开发-测试-部署-运行-结束”的软件开发生命周期,威胁建模在新系统/新功能开发的设计阶段,增长安全需求说明,经过威胁建模知足软件安全设计工做;若是系统已经在上线运行,能够经过威胁建模发现新的风险,做为渗透测试的辅助工做,尽量的发现全部的漏洞。
根据文章观点,威胁建模分为两大类:漏洞和技术风险,漏洞在威胁建模中起着核心做用;战略方法,攻击者策略的模型采用了不一样的视角,一般是针对目标的防护姿态。尽管采用的视角或应用场景存在多样性,但全部当前的方法都有一个共同的基本假设:攻击者能够任意选择他/她认为最大化模型分配给他或她的功能的攻击向量或序列。这会使防守者处于高压状态,防护全部漏洞。文章以ICS系统为例子创建了一个玩具威胁模型显示了一个真实的攻击实例视图。
以上是听完讲座后查阅资料的一些心得体会,因为本科没有过多学习过网络编程这方面的知识,感受不少知识都不是很了解,在之后的学习中会慢慢补上,也会继续积累这方面的知识。