MongoDB NoSQL Injection Analysis and Detection

Boyu Hou, K. Qian, Lei Li, Yong Shi, Lixin Tao, Jigang Liu
{"title":"MongoDB NoSQL Injection Analysis and Detection","authors":"Boyu Hou, K. Qian, Lei Li, Yong Shi, Lixin Tao, Jigang Liu","doi":"10.1109/CSCloud.2016.57","DOIUrl":null,"url":null,"abstract":"A NoSQL, also called a \"Non-Relational\" or \"Not only SQL,\" database system provides an approach to data management and database design for very large sets of distributed data and real-time web applications. A NoSQL database system is also a popular data storage for information retrieval because it supports better scalability, availability, and faster data access while comparing with traditional relational database management systems (RDBMS). What the RDBMS data needs is predictable as its data is stored in structured tables by defining the relationship between the different columns. In contrary the data in NoSQL databases does not need to be stored in a structured or fixed fashion. When performance and real-time access are more concerned than consistency, such as indexing and retrieving large numbers of records, NoSQL databases are more suitable than relational databases. With their obvious advantages in better performance, scalability, and flexibility, NoSQL databases have been adopted lately by many small businesses as they are moving their increasing business data into the clouds. However, the research on the security of a specific NoSQL database system or NoSQL database systems in general is very limited. Although there are many storage advantages in NoSQL databases, the need of quick and easy access to data has been seriously affected by the security issue of NoSQL databases. This paper examines the maturity of security measures for MongoDB, a typical NoSQL database system, with aspects in both attack and defense at the code level. The experimental testing on NoSQL injections is performed with JavaScript and PHP. After the demonstration on how a server-side JavaScript injection attack against a NoSQL database system reveals the customer's private data, two methods are discussed in preventing this type of security problems from happening. It is believed that our study will help database developers not only realizing that NoSQL database systems are not designed with security as a priority but also learning how to build a security layer to their organizations' NoSQL applications to avoid NoSQL injections.","PeriodicalId":410477,"journal":{"name":"2016 IEEE 3rd International Conference on Cyber Security and Cloud Computing (CSCloud)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE 3rd International Conference on Cyber Security and Cloud Computing (CSCloud)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSCloud.2016.57","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24

Abstract

A NoSQL, also called a "Non-Relational" or "Not only SQL," database system provides an approach to data management and database design for very large sets of distributed data and real-time web applications. A NoSQL database system is also a popular data storage for information retrieval because it supports better scalability, availability, and faster data access while comparing with traditional relational database management systems (RDBMS). What the RDBMS data needs is predictable as its data is stored in structured tables by defining the relationship between the different columns. In contrary the data in NoSQL databases does not need to be stored in a structured or fixed fashion. When performance and real-time access are more concerned than consistency, such as indexing and retrieving large numbers of records, NoSQL databases are more suitable than relational databases. With their obvious advantages in better performance, scalability, and flexibility, NoSQL databases have been adopted lately by many small businesses as they are moving their increasing business data into the clouds. However, the research on the security of a specific NoSQL database system or NoSQL database systems in general is very limited. Although there are many storage advantages in NoSQL databases, the need of quick and easy access to data has been seriously affected by the security issue of NoSQL databases. This paper examines the maturity of security measures for MongoDB, a typical NoSQL database system, with aspects in both attack and defense at the code level. The experimental testing on NoSQL injections is performed with JavaScript and PHP. After the demonstration on how a server-side JavaScript injection attack against a NoSQL database system reveals the customer's private data, two methods are discussed in preventing this type of security problems from happening. It is believed that our study will help database developers not only realizing that NoSQL database systems are not designed with security as a priority but also learning how to build a security layer to their organizations' NoSQL applications to avoid NoSQL injections.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
MongoDB NoSQL注入分析与检测
NoSQL,也被称为“非关系”或“不仅仅是SQL”,数据库系统为非常大的分布式数据集和实时web应用程序提供了一种数据管理和数据库设计方法。NoSQL数据库系统也是一种流行的信息检索数据存储,因为与传统的关系数据库管理系统(RDBMS)相比,它支持更好的可伸缩性、可用性和更快的数据访问。RDBMS数据的需求是可预测的,因为它的数据通过定义不同列之间的关系存储在结构化表中。相反,NoSQL数据库中的数据不需要以结构化或固定的方式存储。当性能和实时访问比一致性更重要时,例如索引和检索大量记录,NoSQL数据库比关系数据库更合适。由于在更好的性能、可伸缩性和灵活性方面具有明显的优势,NoSQL数据库最近被许多小型企业采用,因为它们正在将不断增长的业务数据迁移到云中。然而,对于特定NoSQL数据库系统或一般NoSQL数据库系统的安全性研究非常有限。尽管NoSQL数据库在存储方面有很多优势,但是NoSQL数据库的安全性问题严重影响了人们对数据快速方便访问的需求。本文从代码层面的攻击和防御两个方面考察了典型的NoSQL数据库系统MongoDB安全措施的成熟度。用JavaScript和PHP对NoSQL注入进行了实验测试。在演示了针对NoSQL数据库系统的服务器端JavaScript注入攻击如何暴露客户的私有数据之后,讨论了防止此类安全问题发生的两种方法。相信我们的研究将帮助数据库开发人员不仅认识到NoSQL数据库系统在设计时并没有优先考虑安全性,而且还将学习如何为其组织的NoSQL应用程序构建安全层,以避免NoSQL注入。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Reducing Complexity of Diagnostic Message Pattern Specification and Recognition on In-Bound Data Using Semantic Techniques Electricity Cost Management for Cloud Data Centers under Diverse Delay Constraints R-Learning and Gaussian Process Regression Algorithm for Cloud Job Access Control Scalable Fog Computing with Service Offloading in Bus Networks A Universal Algorithm to Secure Stolen Mobile Devices Using Wi-Fi in Indoors Environments
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1