标签:应用层 应用程序 服务 基于 分析方法 一个 机器 决策 制作
张老师从Web应用安全和隐私安全两个方面为我们带来了一场精彩的讲座。
信息化发展凸显了信息安全问题
2010年6月 震网病毒(stuxnet病毒) -> 证明物理隔离也不一定安全
2015年9月 XcodeGhost -> 证明编译层面也可能存在安全漏洞
网络威胁惊人,每天超过亿次GPT攻击,攻击方式:可探测 -> 可访问 -> 可掌控
威胁方-防护方的非对称性:
攻防技术非对称,大量自动化攻击工具的出现,使得入侵网络与信息系统的门槛降到极低。,攻防成本非对称,攻防技术的非对称带来了攻防成本的非对称。风险成本也极低。对于国家安全而言,攻防成本的非对称性具有特殊的意义。伪基站短信照片案例层出不穷。
常见的Web漏洞:
SQL注入
SQL注入本质是由于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的查询,篡改命令。
按提交字符类型可分为:数字型、字符型、搜索型。
按HTTP提交方式可分为:GET、POST、Cookie。
按注入方式可分为:盲注、union注入、报错注入。
SQL注入工具
SQLMAP、Havij、Pangolin。
防御SQL注入
1、 参数化查询。参数化查询已被视为最有效的可防御SQL注入攻击的防御方式。目前主流的ORM 框架都内置支持并且推荐使用这种方式进行持久层封装。
2、 Web站点接入的数据库应遵循用户角色最小权限原则, 针对不同类型的操作, 创建对应权限的数据库用户, 最大限度地降低SQL注入的危害。
3、 可以从应用层防止SQL注入攻击, 目前国内主流的安全厂商都有一些专业的Web应用防护设备, 例如绿盟科技的WAF with MSS, 启明星辰的天清Web应用安全网关等。这些WAF设备自身定义了许多SQL注入过滤规则, 攻击者输入的危险字符会先经过应用层的WAF设备, 再提交给Web的后端数据库, 一定程度地降低了Web应用的安全风险。
XSS跨站脚本攻击
当用户访问网页时, 攻击代码在用户的浏览器上被执行, 就形成了一次XSS跨站脚本攻击。根据XSS漏洞的原理可以将XSS跨站攻击划分成反射性XSS和存储型XSS。对于反射性XSS, 攻击者需要欺骗用户点击一个恶意URL才能攻击成功。存储型XSS的危害相对来说更大一些, 攻击者提交的恶意代码, 会被Web服务器端接收并存储, 访问该网页的用户, 他们的浏览器会执行这段恶意代码。
防御XSS攻击?
1、 输入过滤。对用户表单输入的数据进行过滤,对javascript代码进行转义,然后再存入数据库。
2、 输出编码。在信息的展示页面,也要进行转义,这样的话,如果用户输入一些HTML的脚本,也会被当成普通的文字,而不会成为目标页面HTML代码的一部分得到执行。
3、 Cookie防盗。尽可能地避免在Cookie中泄露隐私,如用户名、密码等。我们可以将Cookie信息利用MD5等Hash算法进行多次散列后存放。为了防止重放攻击,也可以将Cookie和IP进行绑定,这样也可以阻止攻击者冒充正常用户的身份。
CSRF跨站请求伪造
攻击者使用被攻击者的身份,以其名义发送恶意请求,会造成个人隐私泄露以及财产安全。
防御CSRF攻击
1、 所有需要用户登录之后才能执行的操作属于重要操作,这些操作传递参数应该使用 POST 方式,更加安全。
2、 Token。为防止跨站请求伪造,我们在某次请求的时候都要带上一个csrf_token参数,用于标识请求来源是否合法,csrf_token参数由系统生成,存储在SESSION中。
3、 验证码。验证码不单单用来防止注册机的暴力破解,还可以有效防止CSRF的攻击。
隐私安全
当前许多企业和公司会对用户轨迹进行分析,导致用户隐私安全受到威胁。
通过这次讲座我们知道了什么是SQL注入漏洞、SQL注入分类以及如何判断等等。
还学习到什么是XSS跨站脚本攻击, XSS漏洞分为两类:①反射型XSS ②存储型XSS,认识到XSS的危害,了解持久型跨站脚本攻击场景等等。
学习什么是CSRF跨站请求伪造漏洞,跨站请求伪造(CSRF)场景,如何上传漏洞、解析漏洞,什么是弱口令。
通过本次讲座我们知道量子密码与传统的密码系统不同,它依赖于物理学作为安全模式的关键方面而不是数学。实质上,量子密码术是基于单个光子的应用和它们固有的量子属性开发的不可破解的密码系统,因为在不干扰系统的情况下无法测定该系统的量子状态。
传统密码的挑战
然而,这种传统密码受到了来自量子密码的挑战:基于大数分解的Shor算法和基于快速搜索的Grover算法能够迅速破解传统密码。
Shor算法(大数分解算法)
Shor算法能在多项式时间内解决大数分解难题,从而使RSA等大多数公钥密码受到冲击。
Grover算法
Grover算法(快速搜索算法)可以加速搜索密钥,从而使DES、AES等对称密码受到冲击。
量子密码
量子秘钥分配(QKD)的特点:
可以检测到潜在窃听行为。
基于物理学原理,理论上可达到无条件安全。
也就是说,量子密码可达到无条件安全的保密通信。
典型协议--BB84量子密钥分配协议
量子密钥分配是1984年物理学家Bennett和密码学家Brassard提出了基于量子力学测量原理的BB84协议,量子密钥分配从根本上保证了密钥的安全性。
在光系统中,BB84协议使用四个光子的偏振态来传输信息,这四个量子态又可以分成相互非正交的两组,而且每组中的两个光子的偏振态是正交的同时这两组又是相互共轭的。如果是单光子通信系统,则这四个量子态分别为光子的水平偏振态 、垂直偏振态 、 偏振方向的偏振态 (记作↗)、 偏振方向的偏振态 (记作↘)。 其中,前两个态为一组测量基,后两个态为一组测量基。当发送方Alice与Bob进行通信时,不是只使用某一组测量基,而是按照一定的概率同时使用两组基。
金鑫老师充满活力的给我们带来一个精彩的讲座——基于深度学习的密码分析与设计。我发现人工智能需要我们的知识储备非常足,要有很好的数学基础,密码学基础等等。本次讲座使我对人工智能、机器学习和深度学习增加了系统性的认知,以及对深度学习的应用有了更为宽阔的了解。我发现自己对人工智能、深度学习有点感兴趣,可是知识储备远远不够,希望后期自己能够努力培养这方面的知识。
用AI和ML解决安全问题(让安全更智能):
计算机取证、垃圾邮件检测、身份验证、网络钓鱼检测与预防、僵尸网络监测、入侵检测和响应、异常行为检测、恶意软件标识、数据匿名/反匿名、社会网络安全、大数据安全分析等。
用安全性解决A问题(让AI更安全):
分布式安全推理与决策、安全的多方计算和加密方法、隐私保护数据挖掘、差异隐私、验证码的设计与分析、人工智能信任和声誉方法、通过智能探测进行漏洞测试、生成训练和测试集的技术和方法等。
密码分析与机器学习
密码分析与机器学习之间有天然的相似性:
x -> F(x) -> y
对于机器学习:
x为输入样本,F(x)为机器学习的模型(可以理解为一个函数),y为输出,如果是分类,则y是分类标签,如果是回归,则y是真实值向量。
对于密码分析:
x为输入的明文,F(x)为密钥(可以理解为一个函数),y为加密后得到的密文。
从研究趋势来看,越来越多的密码分析方法开始使用机器学习结束,例如破解DES的遗传算法、用于侧信道分析的支持向量机算法等。
信息隐藏主要包括水印、可视密码、隐写等。随着多媒体技术在通信领域的广泛应用和飞速发展,信息隐藏及隐写分析技术成为信息安全领域的研究热点。通过夏老师的这次课让我对信息隐藏和隐写分析技术等有了基础的了解。最重要的一点是夏老师给我们提出的四点建议让我感受颇深。首先我们要在平时学习专业课之余去看一些最新的顶会、期刊文章,增加自己的知识储备。当然,要想看懂顶会期刊就必须拥有一定的英语水平。老师建议我们去抽时间学习英语,说好英语,写好英语。作为一名计算机的学生,编程自然是少不了的。要想在科研工作上走的更远,需要拥有良好的编程能力。老师告诉我们要利用好资源,GitHub上有很多优秀的代码,很多牛人都值得我们去学习。
信息隐藏
信息隐藏是指将特定用途的信息隐蔽地藏于其他载体(Cover)中,使得它们难以被发现或者消除,通过可靠提取隐藏的信息,实现隐蔽通信、内容认证或内容保护功能。
信息隐藏主要包括水印、可视密码、隐写等。
鲁棒水印(Robust Watermaking)
鲁棒水印是重要的数字产权管理与安全标识技术之一,指将与数字媒体版权或者购买者有关的信息嵌入数字媒体中,使攻击者难以在载体不遭到显著破坏情况下消除水印,而授权者可以通过检测水印实现对安全所有者或者内容购买者等信息的认定。
可视密码(Visual Cryptography)
可视密码技术使Naor和Shamir于1994年首次提出的,其主要特点是恢复秘密图像时不需要任何复杂的密码学计算,而是以人的视觉即可将秘密图像辨别出来。其做法是产生n张不具有任何意义的胶片,任取其中t张胶片叠合在一起即可还原出隐藏在其中的秘密信息。
隐写(Steganography)
隐写是基于信息隐藏的隐蔽通信或者隐蔽存储方法,将秘密信息难以感知地隐藏在内容可公开的载体中,保护保密通信或者保密存储这些行为事实。
称隐写后的载体为隐写媒体Stego。
这次讲座为我们详细地讲解了区块链的产生和发展,由匿名作者中本聪发布的《比特币:一种点对点的电子现金系统》白皮书,演化成为今天这个比特币体系。这次讲座让我对比特币、区块链的历史有了系统的了解,对于区块链的技术也有了较为详细的认识,明白了这个机制是怎么正常运作的。
比特币
比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。
每一位所有者(A)利用他的私钥对前一次交易T1和下一位所有者(B)的公钥(俗称:地址)签署一个随机散列的数字签名, A将此数据签名制作为交易单T2并将其(交易单T2)广播全网,电子货币就发送给了下一位所有者。
与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在约2100万个。
通过这次讲座,对漏洞挖掘有个基本的了解。我认为想提高漏洞挖掘能力的方法要做到细心、耐心、会看、会记、懂收集、勤动手、爱学习。 细心放在第一位,是因为细心真的是非常非常非常重要。耐心同细心一样重要,可以说是一对cp。 会看,会记就是要多看多记,多看漏洞详情,多看技术文章,漏洞详情可以在乌云看,还有网上很多人分享的案例,主要是乌云。勤动手,当你看了大量漏洞,记了大量笔记,这个时候,我相信你最需要的,就是实战,实战是可以把所学所看融会贯通的最快方法,没有之一,只有实战可以锻炼自己的挖洞能力,和效率。看到新的漏洞多去搭建环境复现,这也是对能力的一种提升。
常见漏洞挖掘技术
手工测试
定义:由测试人员手工分析和测试被测目标,发现漏洞的过程,是最原始的漏洞挖掘方法。
优点:手工测试结合了人的主观能动性,可以针对性测试,挖掘漏洞
缺点:在大规模漏洞发现或无规律可循的条件下,较难进行
补丁对比
定义:补丁比对技术主要用于黑客或竞争对手找出软件发布者已修正但未尚公开的漏洞,是黑客利用漏洞前经常使用的技术手段。
优点:发现速度块
缺点:只能发现已知漏洞,对于未知漏洞难以发现
程序分析 (包含静态和动态程序分析)
定义::是指在不运行计算机程序的条件下,通过词法分析、语法分析、语义分析、控制流分析、污点分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性等指标的一种代码分析技术。
优点:漏洞检测范围大,覆盖率达100%,自动化程度高
缺点:存在漏报和误报的可能性
二进制审核
定义:源代码不可得,通过逆向获取二进制代码,在二进制代码层次上进行安全评估
存在问题:逆向会导致信息丢失,理解困难,甚至引入逻辑错误
二进制及编辑工具: IDA Pro、Ollydbg、UltraEdit、Hex Workshop以及WinHex
模糊测试
定义:通过向被测目标输入大量的畸形数据并监测其异常来发现漏洞
关键:测试用例构造,自动化
优点:无需源码、误报低、自动化程度高
缺点:覆盖率低
工具:Peach、Sulley、Autodafe、SPIKE等
标签:应用层 应用程序 服务 基于 分析方法 一个 机器 决策 制作
原文地址:https://www.cnblogs.com/zhangyuxiang666/p/11025871.html