《密码与安全新技术专题》第1周作业

20180908 2018-2019-2 《密码与安全新技术专题》第1周作业

课程:《密码与安全新技术专题》

班级: 1892
姓名: 杨晨曦
学号:20189208
上课教师:谢四江
上课日期:2019年X月X日
必修/选修: 选修

1.本次讲座的学习总结

一、Web的广泛应用与信息安全发展凸显的问题
二、Part I     Web应用安全
  • SQL注入
标准 类别
按提交字符类型 数字型 字符型 搜索型
按HTTP提交方式 GET\POST\Cookie
按注入方式 盲注 union注入 报错注入
编码问题 宽字节注入(构造)
  • AQLMAP
  • Havij
  • Pangolin   1. 反射型XSS 2. 存储型XSS
  • Apache解析漏洞
  • Nginx解析漏洞
三、Part II     隐私安全
  • 用户轨迹 :移动方向、运动轨迹、运动频率、
  • 用户画像(性别、年龄、直液、搜索记录、住址)、手机号码、MAC地址
  • AI 机器学习 启发式
  • 内网漫游 隐蔽信道检测 注入攻击 网页木马 凭证盗窃

2.学习中遇到的问题及解决

  • 问题1:不知道如何找到顶级会议的相关论文?
  • 问题1解决方案:百度了web方向的顶级会议,并查到了会议论文的查找筛选方式,谷歌浏览器的页面翻译真是太好了,可以直接看到论简介。
  • 问题2:论文看不懂。
  • 问题2解决方案:同学推荐了pdf转word,word文档直接全篇翻译的办法,感恩。

3.本次讲座的学习感悟

web安全是非常复杂并且在快速发展的课题。

4.web Vulnerabilities最新研究现状

关于Vulnerabilities的五篇论文

一、自动修复Web应用程序防火墙
  1. 摘要
    文章提出一种将机器学习与多目标遗传算法相结合的自动化方法使
    测试和修复WAF(web application firewalls)自动化。 给定一组合法请求并绕过SQL注入攻击,文中的方法可以自动推断出正则表达式,添加到WAF的规则集,以防止许多攻击,且让合法请求通过。
  2. 简介
    a.SQLi:是一种广泛认可的攻击技术,攻击者将恶意SQL代码片段注入输入参数。 当Web应用程序缺少对输入参数的正确验证或清理时,攻击者可能能够构造输入值来更改生成的SQL语句的行为。
    应对网络攻击数量和复杂性的增加应部署一个在分层保护基础设施,包括应用层,网络层和协议层。
    b.Web应用程序防火墙(WAF)是用于缓解和防止特定类型攻击的最常见的应用程序级机制,例如SQL注入或跨站点脚本。通过一系列规则-正则表达式,来决定是否丢弃请求。定义WAF规则集的常用方法是使用黑名单。WAF的配置容易出错,虽然攻击能暴露配置的不足,安全分析师可以通过添加合适的规则阻止新发现的攻击,但修补WAF比发现漏洞困难。
  3. 找出WAF过滤规则的思路:
    从已知的绕过攻击中推断一些WAF过滤规则(即正则表达式)的任务可以被视为-在所有可能的正则表达式集合中找到匹配所有绕过攻击而不匹配任何合法请求的正则表达式。需要考虑极大的正则表达空间。
    新规则的两个目标:(1)将WAF阻挡的SQLi攻击的数量最大化(2)阻挡的合法请求数量最小化
    推倒新规则的本质一个多目标搜索问题 ,优化目标:(1)(2)
    使用多目标遗传算法NSGA-II推导帕累托有效规则集。
    SQL攻击来源:旁路攻击迭代生成新的候选攻击。
  4. 机器学习实现:
    机器学习方法,特别是DT,可以用来确定更有可能表征绕过WAF的攻击的字符串模式。字符串模式有助于将搜索集中在正则表达式空间的子区域上,这些子区域更可能包含“好的”候选解决方案。
    两步法:我们首先使用DT模型从SQLi攻击中导出字符串模式; 然后,从匹配这些字符串模式的正则表达式开始,我们应用遗传算法来优化它们以尽可能多地阻止攻击,同时阻止尽可能少的合法请求。
二、自动修复Web应用程序防火墙
  1. 摘要
    本文阐述了一种新技术,攻击者可以通过恶意浏览器扩展来执行成功的网络钓鱼攻击。 已经通过Google Chrome浏览器进行了成功的实验,并且该技术已经过验证。
  2. 简介
    网络钓鱼:网络犯罪。目的是使用网络/电子邮件欺骗和其他欺骗技术获取用户敏感/个人信息。攻击者模仿知名网站并将其发布给用户。 电子邮件和网络欺骗技术通过获取用户对攻击者提供的虚假信息的信任来帮助执行网络钓鱼。网络钓鱼是影响银行,社交和金融市场的最严重的网络犯罪之一。 在2016年9月检测到104,973个独特的网络钓鱼网站。
  3. 网络钓鱼原理总结
    (1)电子邮件网络钓鱼: 网络钓鱼者发送欺骗性电子邮件(出现 来自良性实体)在电子邮件回复中或通过嵌入式欺骗性URL链接请求用户的个人信息。 URL链接将用户带到一个欺骗性网站,该网站看起来类似于被定位的网站。这是进行网络钓鱼攻击的最常见和最古老的方式之一。
    (2)Web内容注入:网络 钓鱼者创建了一个信息网站,为用户提供有价值的信息,但用恶意内容更改网站的部分内容。 这些网站要么注入恶意代码,要么将用户重定向到网络钓鱼网站,要么提供恶意广告/链接以连接到Facebook,Gmail,Twitter等。点击这些广告/链接会将用户重定向到网络钓鱼网站。为了获得用户对欺骗性链接的信心,网络钓鱼者通常使用链接操作技术。
    (3)基于DNS的网络钓鱼: 网络钓鱼者修改域名系统(DNS)信息,以便对公司URL的请求返回与真实地址不同的地址,并将用户重定向到网络钓鱼网站,该网站看起来类似于目标可信网站。 类似的网络钓鱼方式是通过操纵用户机器上的主机文件,也称为主机文件操作攻击。
    (4)实时(RT)/控制中继(CR)中间人(MITM)攻击: 欺骗性网站获取用户凭证实时自动(通过屏幕中继或用户的密钥日志中继)或手动中继用户凭证,以打破专门设计用于处理网络钓鱼攻击的单因素/双因素身份验证方案。 在CR MITM中,网络钓鱼者通过远程桌面模块和其他欺骗性技术将其终端转发到用户的桌面上。然后,用户直接在网络钓鱼者桌面上输入他的凭据。
    (5)Tabnabbing: 在Tabnabbing攻击中,攻击者取代了 由他的网络服务器托管的普通网站,当用户在浏览器上切换标签或在网页上检测到丢失焦点事件时,动态地使用网络钓鱼网站。 当用户切换回选项卡时,他认为他已经打开了用于登录特定网站的选项卡,并在欺骗下在网络钓鱼网页上输入了他的凭据。
  4. 新的网络钓鱼原理
    基于恶意浏览器扩展的网络钓鱼: 那里 有很多方法可以通过恶意扩展来执行网络钓鱼攻击。 其中一些攻击包括基于恶意扩展的键盘记录/表单数据嗅探和屏幕日志记录攻击,以通过欺骗获取用户凭据。这些攻击还可以帮助RT MITM等其他攻击打破双因素身份验证方案。
三、建议使用的基于Web的应用程序和服务的安全模型
  1. 摘要
     本文提出了一种简单的安全模型,用于改进互联网应用安全和服务保护,指定访问控制,加密,cookie和会话管理,防御编程实践,从开发生命周期的早期阶段开始关注安全性,在访问控制中使用硬件认证技术,然后通过将MD5与Based64混合来提出加密方法,考虑会话和cookie类型以及保证其安全的方法。 此外,这些实践讨论了最重要的Web安全漏洞和访问控制的弱点以及如何克服这些弱点,提出了一种使用Likert量表根据软件质量标准ISO 25010测量,分析和评估安全项目的方法,
  2. 简介
    标准Web安全模型出现安全问题有以下几个原因:
    (1)异构和分布式系统的集成
    (2)公司服务器和政府机构维护的大量敏感信息和数据的可用性
    (3)易于分发的恶意软件的安全性
    (4)计算机犯罪
    Web系统包括 😦 1)Web客户端(2)网络服务(3)后端,用于套件数据库的信息系统支持 。一些数据缓冲区使用通用安全配置,而其他数据缓冲区使用特定组件,包括:防火墙,非军事区,反向代理,负载平衡器,目录服务器,策略服务器,Web服务器,应用程序服务器,数据库服务器,以及在HTTP和HTTPS协议中涉及的所有Web安全技术。
    HTTPS被广泛用作在客户端和服务器之间发送和保留数据的安全机制; 减少和防止恶意攻击,导致大量部署和维护。而且,它仍然不如预期的那样安全; 正是在2014年4月3日,据报道,迄今为止在HTTPS协议中发现的最大和最危险的安全漏洞是心脏出血漏洞。
    公钥基础结构没有提供任何终端系统和内部攻击的访问控制方法。
    每个Web安全模型由四个主要部分组成:(1)传输协议(2)Web概念(3)精确威胁模型(4)评估Web安全保护免受漏洞攻击如跨站点脚本、跨站点请求伪造,保护浏览器帧通信,防止域名系统(DNS)重新绑定,并保护高安全性网站免受网络攻击。
    Cookies和会话管理:会话技术旨在为浏览器用户和Web服务器之间的访问管理和交互提供一些技术要求的答案。 它们还用于其他目的,如广告,剖析,跟踪等。网络威胁源于(1)以明文格式传输cookie,并且能够在传输过程中进行欺骗或修改。 安全套接字层(SSL)用于在通过网络传输cookie时保护cookie。(2)终端系统威胁涉及漏洞,例如伪造的cookie信息和冒充受害者,并且可以由攻击者执行。(3)通过冒充合法网站和收集cookie来完成cookie获取攻击。 当攻击者访问cookie受害者时,经过验证的SSL不会保护模拟攻击中的cookie
  3. 建议
    (1)使用唯一的硬件地址识别用户设备
    是一种多因素身份验证,用于提高Web应用程序的安全性,如电子支付,政府交易等。为系统中的每个对象提出了硬件认证。 媒体访问控制地址(MAC)的一个或多个硬件相关值的组合中导出唯一信息来实现硬件的唯一性。 MAC是网段中唯一的硬件地址,它利用因子构建唯一信息,实际上很难在活动服务中进行更改。
    (2)BASE64与MD5合并加密
    对称加密算法BASE64与MD5合并加密,对系统中的所有者和每个对象以明文格式隐藏数据,,并且能够使用HTTP。
     Base64算法将用于客户端和数据服务器端之间的加密/解密数据,并使用客户端MAC地址作为加密的硬件验证密钥。 MAC地址由6个字节= 48位组成,此功能意味着密钥具有足够数量的密钥以保密,难以增加,减少或检测
    (3)改进cookie和会话管理
    a.用户应尽可能长时间设置较低的时间,或不时重新更新其身份或身份验证数据.
    b.必须添加硬件认证作为其身份的主要因素,以确保其会话不会在其他设备上使用.
    c.用户在尝试执行与当前会话相关的应用程序上的任何任务时应检查会话的正确性及其可用性,以避免任何类型的威胁和攻击者技术来获取会话内容.
    d.如果应用程序在运行时发生任何缺陷应通知用户并应该结束会话事件。
  4. 测评
    根据李克特量表[26]测量和评估安全性,根据前10名OWASP 测试10种威胁,并将访问控制威胁集作为接受安全级别的标准。 此外,单独计算和分析每个区块或子系统的风险,以确保所有区块都清晰,以便对整个项目进行最终评估。 Likert量表可以从3到12个变量计算出来,而这种方法中最常见的5个变量将使用五种变体(存在,确定存在,未知,确定不存在,不存在)。 必须测试的威胁如下:
    (1)SQL注入
    (2)XSS(存储和反映)
    (3)访问控制策略,规则和用户权限
    (4)插入直接对象引用错误
    (5)交叉方请求伪造
    (6)Cookie和会话加密以防止会话劫持错误
    (7)客户端和服务器端之间的加密交换参数,以无法识别的形式存储在数据库中的敏感数据
    (8)限制每个页面上的URL访问在加载之前
    (9)防止用户添加恶意或不可信链接
    (10)开发工具,加密算法和证书更新,并确保它们正常工作
四、Web应用程序安全工具分析
  1. 摘要
    演示了Web应用程序的体系结构,然后列出并评估了广泛的安全漏洞。 这些漏洞包括:传输层保护不足,信息泄漏,跨站点脚本和SQL注入。 此外,本文还分析了用于扫描Web应用程序中这些广泛漏洞的工具。 最后,它会针对安全漏洞评估工具,并向Web应用程序的用户和管理员提供建议
  2. 传输层漏洞:不支持SSL/TLS的网站明文发送内容。
    (1)SSLyze 独立分析python工具
    a.不安全的重新协商测试
    b.扫描弱密码
    c.检查SSLv2,SSLv3和TLSv1版本
    d.服务器证书信息转储和基本验证
    e.支持客户端证书身份验证
    (2)Qualys SSL Labs 云安全 网络安全扫描和漏洞管理提供商
    a.验证证书以确保其有效且可信
    b.检查三种类别的服务器配置:协议支持,密钥交换支持和密码支持
    c.将类别分数组合成总分(表示为0到100之间的数字)。 任何类别中的零都会将总分数推至零。 然后,计算字母等级
    应用一系列规则将字母等级(A +,A-B,C,D,E或F)分配给服务器配置的某些方面,这些方面无法通过数字评分进行评估。
    d.大多数规则会在遇到不需要的功能时降低成绩,而某些规则会提高成绩(最高为A +),以奖励特殊配置
    e.需要支持TLS 1.2才能获得A级。 没有它,等级上限为B
    f.低于2048位的密钥被认为是弱的,并且等级上限为B
    g.1024位以下的密钥被认为是不安全的,配置将收到F
    h.告作为评级标准的一部分
    i.于具有通常良好配置且具有一个或多个警告的服务器,引入了新的等级A-
    j. 具有特殊配置的服务器引入了新的A +级
    k. MD5证书签名现在被认为是不安全的,配置将收到F
    (3)OpenSSL 开源实现的 SSL和TLS协议
    允许使用强大的算法对信息进行加密。源和目标都执行所谓的“握手”,在这种情况下,当它安全地到达目的地时,它们就一个长且复杂的密钥来解密数据。
  3. 信息泄露漏洞
    Netcraft:受欢迎的工具,用于收集与目标域相关的信息。
    (1) 提供良好的足迹侦察信息。
    (2)可确定从您的组织泄漏哪些信息,从您组织的站点收集的数据可能会让您受到可能的攻击。
    (2)运行您自己的域,看看您需要修复什么以及需要防御什么。
    (3)提供Web服务器和Web托管市场份额分析,包括Web服务器和操作系统检测。
    (4)已启动多长时间,正常运行时间,最后一次重启
    (5)可以访问netcraft.com并输入所需的域名信息以获取其目标的所有详细信息
  4. 跨站脚本漏洞
    Cross-Site Scripting Vulnerability(XSS):是一种注入问题,这意味着黑客将恶意脚本注入可信网页。
    内部XSS :在代码所在的同一网站上完成注入。黑客会将恶意代码作为评论发布在已向他们展示的网站中,如Facebook或Twitter。代码将在已打开注入页面或注释的任何人的计算机中运行和执行。
    外部XSS :注射可以使用外部进行浏览器。 恶意代码不会保存在网站中,黑客是唯一可以看到恶意代码的人。
    步骤:
    a).查找易受攻击的网站并发布所需的Cookie;
    b).构建恶意代码并验证它是否会按预期执行;
    c).构建URL。他们还可以将代码嵌入网页和电子邮件中;
    d).尝试欺骗用户执行该恶意代码,最终导致劫持帐户或收集敏感数据。
    e).SQL注入漏洞
    (1)XSS服务器:server side loot;
    (2)Cross Site Scripter“XSSer”: 是一种自动框架
    用于利用和检测Web应用程序中的CSS漏洞。
    (3)OWASP Xenotix XSS: 是一个高级框架
    用于XSS漏洞检测和利用
  5. SQL注入漏洞
    (1)SQL Inject-Me: 这是一个基于Exploit-Me的工具
    用于发现SQL注入漏洞的Firefox。在帮助进行应用程序安全性测试。 此工具中的用户提交HTML表单,并将表单值替换为代表SQL注入漏洞的字符串。
    (2)SQLninja: 这是一个旨在检测的工具
    使用Microsoft SQL Server作为后端的Web应用程序上的SQL注入漏洞。 此工具的主要目标是在易受攻击的数据库服务器上提供远程访问。 它是非常强大的工具,因此即使在非常恶劣的环境中也能工作。 当发生SQL注入漏洞时,应该使用此工具来帮助测试人员接管数据库服务器来管理进程。功能:
    a.提供远程SQL Server的指纹,例如其版本,执行查询的用户和数据库身份验证模式。
    b.如果删除原始自定义xp cmdshell被销毁,它可以创建一个新的。
    c.当没有可用的TCP / UDP端口时,它可以执行DNS隧道伪shell和ICMP隧道shell。
    d.强制使用'sa'密码。
    e.扫描目标SQL Server上的TCP / UDP端口到攻击计算机,查看目标防火墙是否允许使用该端口并使用它。
    (3)Havij: 这是一个有助于渗透的自动化工具
    测试人员检测Web应用程序上的sql Injection漏洞。 此工具可以提供后端数据库的指纹。 由于其独特的方法,它是基于SQL注入漏洞的最强大的工具之一。 根据攻击易受攻击目标的成功率,它被评为95%以上。功能:
    a. 从DB,转储表和列获取数据,并对服务器执行sql语句。
    b.能够恢复DBMS用户名和密码哈希值。
五、高效灵活的发现 PHP应用程序漏洞
  1. 摘要
    提出了一种高度可扩展且灵活的方法来分析可能包含数百万行代码的PHP应用程序。 利用最近提出的“代码属性图”概念:这些图构成了在单个图结构中包含程序语法,控制流和数据依赖性的代码的规范表示,进一步丰富了调用边允许进行过程间分析。 然后将这些图存储在图形数据库中,该图形数据库为高效且易于编程的图形奠定了基础。遍历可以识别程序代码中的缺陷。 
    适合在大规模发现PHP等高级动态脚本语言中的漏洞。 
    非常灵活:生成代码属性图并将它们导入数据库的大量工作完全自动化完成的。分析人员可以根据需要编写遍历来查询数据库,以便查找变量。
  2. 简介
    PHP:Web应用程序最受欢迎和广泛部署的语言,超过了前千万网站中的80%(包括Facebook,维基百科,Flickr或Wordpress等广泛使用的平台),但安全设计很糟:通常产生一个大的攻击面(例如,服务器上的每个PHP脚本都可能被攻击者用作入口点)并且承载设计不一致的函数有巨大副作用。由于其混乱且不一致的API,PHP特别容易出现编程错误,这些错误可能导致Web应用程序漏洞,例如SQL注入和跨站点脚本。

参考资料

posted @ 2019-03-10 15:56  假的课代表  阅读(303)  评论(1编辑  收藏  举报