20189218 2018-2019-2 《密码与安全新技术专题》第1周作业
课程:《网络(web)安全与内容安全》
班级: 1892
姓名: 冯乾 学号: 20189218 上课教师:张健毅 上课日期:2019年2月26日 必修/选修: 选修1.本次讲座的学习总结
信息化的发展使得信息安全越发重要。在网络中由于存在威胁方-防护方技术、成本、风险、主题的非对称性,维护信息安全的难度非常之高,没有哪一个系统敢说自己是绝对安全的,但起码应该对常见的威胁做出应对,避免系统被很容易的攻破。
目前WEB应用中存在很多漏洞,常见的WEB漏洞如下:
SQL注入
不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动。在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一。
SQL注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击。 黑客们能通过SQL注入进行攻击基于一种SQL语言的技术基础——。这种技术可以概括为以下几点:
- SQL命令可查询、插入、更新、删除等,命令的串接。而以分号字符为不同命令的区别。(原本的作用是用于SubQuery或作为查询、插入、更新、删除……等的条件式)
- SQL命令对于传入的字符串参数是用单引号字符所包起来。(但连续2个单引号字符,在SQL数据库中,则视为字符串中的一个单引号字符)
- SQL命令中,可以注入注解(连续2个减号字符 -- 后的文字为注解,或“/”与“/”所包起来的文字为注解)
- 因此,如果在组合SQL的命令字符串时,未针对单引号字符作转义处理的话,将导致该字符变量在填入命令字符串时,被恶意窜改原本的SQL语法的作用。
具体来说,在应用程序中若有下列状况,则可能应用程序正暴露在SQL Injection的高风险情况下:
- 在应用程序中使用字符串联结方式或联合查询方式组合SQL指令。
- 在应用程序链接数据库时使用权限过大的账户(例如很多开发人员都喜欢用最高权限的系统管理员账户(如常见的root,sa等)连接数据库)。
- 在数据库中开放了不必要但权力过大的功能(例如在Microsoft SQL Server数据库中的xp_cmdshell延伸存储程序或是OLE Automation存储程序等)
- 太过于信任用户所输入的数据,未限制输入的特殊字符,以及未对用户输入的数据做潜在指令的检查。
SQL注入攻击可通过以下措施预防:
- 在设计应用程序时,完全使用参数化查询(Parameterized Query)来设计数据访问功能。
- 在组合SQL字符串时,先针对所传入的参数加入其他字符(将单引号字符前加上转义字符)。
- 如果使用PHP开发网页程序的话,需加入转义字符之功能(自动将所有的网页传入参数,将单引号字符前加上转义字符)。
- 使用php开发,可写入html特殊函数,可正确阻挡XSS攻击。
- 其他,使用其他更安全的方式连接SQL数据库。例如已修正过SQL注入问题的数据库连接组件,例如ASP.NET的SqlDataSource对象或是 LINQ to SQL。
- 使用SQL防注入系统。
- 增强WAF的防御力
XSS跨站脚本攻击
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
通过XSS攻击,攻击者期待达到以下目的:
- 盗用cookie,获取敏感信息。
- 利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
- 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
- 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
- 在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。
避免XSS最根本的方法是关闭浏览器的Javascript选项,但这可能使一些网页无法正确执行,一般来说使用更新比较频繁的浏览器能获得更好的安全保证。从技术手段上来说,避免XSS攻击的方法主要是将用户所提供的内容进行过滤,许多语言都有提供对HTML的过滤:
- PHP的htmlentities()或是htmlspecialchars()。
- Python的cgi.escape()。
- ASP的Server.HTMLEncode()。
- ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library
- Java的xssprotect (Open Source Library)。
- Node.js的node-validator。
CSRF跨站请求伪造
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。[1] 跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
伪基站诈骗
伪基站,又称假基站、假基地台,是一种利用GSM单向认证缺陷的非法无线电通信设备,主要由主机和笔记本电脑组成,能够搜取以其为中心、一定半径范围内的GSM移动电话信息,并任意冒用他人手机号码强行向用户手机发送诈骗、推销等垃圾短信,通常安放在汽车或者一个比较隐蔽的地方发送。伪基站运行时,用户手机信号被强制连接到该设备上,无法连接到公用电信网络,以影响手机用户的正常使用。
2.学习中遇到的问题及解决
- 问题1:震网(stuxnet)是如何工作的,有什么特点?
- 问题1解决方案:网上查阅资料。
- 问题2:XCodeGhost攻击和去年的易语言编译器被污染有何异同。
- 问题2解决方案:网上查阅资料解决。两者实际上相差不多,从正规渠道下载相关工具即可避免。
3.本次讲座的学习感悟、思考等
张健毅老师的课生动简洁,为我们讲述了当前针对各种安全漏洞的攻击方式,更是结合不少实际的例子加深我们的认识。其中震网病毒和XCodeGhost给我很深的印象。如今我们使用的手机、电脑、各种工业设备,核心部分从源头上说都是国外掌握,像win10系统市场占有率早已超过50%,但我们对其核心代码一无所知,也很难对可能的安全漏洞进行测试和防护;像我们日常使用的编译器visual studio、XCode等也都不是开源,它们在编译中到底有没有做什么别的我们也无从得知。
尤其是我国许多机密要害部分,使用这些不明不白的产品难保不会有什么安全问题,核心技术还是掌握在自己手中才能放心,操作系统等的国产化还是尽快推进为上。4.SQL相关最新研究现状
上完本课后,比较想知道SQL在增删改查这些方面已经能做到什么程度了,以及SQL注入和防护分别发展到了什么程度,于是查阅相关论文。
作者信息:
-
- Affiliation:
- SGBAU
- Amravati
- Maharashtra, India
- Affiliation:
-
- Affiliation:
- SGBAU
- Amravati
- Maharashtra, India
- Affiliation:
-
- Affiliation:
- Department of Computer Engineering, SGBAU, Amravati
- Affiliation:
本文收入2018 2nd International Conference on Inventive Systems and Control (ICISC)。
本文讨论了通过删除SQL查询的参数值的SQL注入攻击检测方法,该机制是为真实的Web应用程序实现的,用于检测和防止SQL注入攻击。 它会检测所有SQL注入攻击类型。本方法使Web应用程序能够在丢失任何数据之前检测代码注入(SQL注入)攻击,从而使系统更安全。
本文作者认为,未来的工作应该致力于检测SQL注入攻击的有效方法和防止它的方法。 检测SQL注入所需的时间越少,因此需要开发更多新的强大方法。 必须了解对业务的影响,以降低SQL注入攻击的风险。 需要更多的研究来准确检测SQL注入攻击。作者信息:
-
- Affiliation:
- Department of Informatics Faculty of Information and Communication Technology
- Institut Teknologi Sepuluh Nopember
- Surabaya, Indonesia
- Affiliation:
-
- Affiliation:
- Department of Informatics
- Institut Teknologi Sepuluh Nopember
- Surabaya, Indonesia
- Affiliation:
本文收入2018 10th International Conference on Information Technology and Electrical Engineering (ICITEE)
使用数据库系统的软件与没有数据库系统的软件有着不同的复杂性,因此需要在数据库系统中注重软件属性或参数的模型。本文提出了一种新的模型,通过考虑数据库系统中的SQL查询属性来测量软件的复杂性。建议的模型不仅考虑了SQL查询属性的数量,而且该模型还通过为每个属性分配加权值来考虑SQL查询属性的质量。 根据本文的测试结果,认为可以应用所提出的方法来测量SQL查询的复杂性。作者信息:
-
- Affiliation:
- Dept of CSE
- Sreyas Institute of Engg. & Technology
- Hyderabad, India
- Affiliation:
-
- Affiliation:
- Dept of CSE
- Geethanjali College Of Engg & Technology
- Hyderabad, India
- Affiliation:
-
- Affiliation:
- Dept of CSE, Krishn Murthy Institute Of Engg & Technology, Hyderabad
- Affiliation:
-
- Affiliation:
- Dept of CSE
- SIET
- Hyderabad, India
- Affiliation:
本文收入 2018 Second International Conference on Computing Methodologies and Communication (ICCMC)
本论文总结了SQL注入攻击的攻击类型和分类,并讨论了模式锁定提出的模型和结论以及未来的范围,为研究人员提出了防止SQL注入攻击的建议方法。 本文认为应该要求对威胁及其遭遇进行研究。在提出的模型中,模式锁定用作ascii字符检查,令牌创建和检查其阈值。 这将确保只应将有效查询传递给数据库服务器。 这种攻击的一些成功预防措施是OWASP中的SQL备忘单,参数化查询的使用,自动和动态访问控制列表概述,使用报价阻止功能,避免详细的错误消息,向用户提供有限的权限等。作者信息:
-
- Affiliation:
- Faculty of Computer Science and Engineering
- the University of Ss.Cyril and Methodius
- Skopje, Republic of Macedonia
- Affiliation:
-
- Affiliation:
- Faculty of Computer Science and Engineering
- University of Ss.Cyril and Methodius
- Skopje, Republic of Macedonia
- Affiliation:
-
- Affiliation:
- Faculty of Computer Science and Engineering
- University of Ss.Cyril and Methodius
- Skopje, Republic of Macedonia
- Affiliation:
本文收入2018 26th Telecommunications Forum (TELFOR)
本文着重于从a.csv文件中读取数据,在GPU上实现内核并执行基本的SQL聚合功能,并将它们的性能与MySQL对应的内容进行比较,显示该概念的价值和重要性。
本文认为,在执行简单的SQL聚合函数内核时,使用支持CUDA的GPU作为协处理器在执行以下功能核时是非常有用的加速:SUM,MAX,MIN。作者信息:
-
- Affiliation:
- Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany
- Affiliation:
-
- Affiliation:
- Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany
- Affiliation:
-
- Affiliation:
- Karlsruhe Institute of Technology, Karlsruhe, Germany
- Affiliation:
本文收入2018 IEEE 34th International Conference on Data Engineering (ICDE)
本文研究了从数据库的查询日志中提取和分析模式的问题。 本文专注于设计错误(反模式)。 反模式不仅会对查询性能产生负面影响,还可能会对SQL日志的任何后续分析产生偏差。 本文提出了一个框架来发现SQL查询日志中的模式和反模式以及清理反模式。 为了研究本文方法的有用性并揭示真实世界系统日志中反模式的见解,本文检查了SkyServer项目的SQL日志,查询超过4000万。 在前15种模式中,本文发现了6种反模式。 总而言之,本文的结果让位于反模式可能伪造重构和任何其他下游分析的结论。 本文的框架能够在现实世界的查询日志中找到并清理反模式。