Security Vulnerabilities of Nosql and SQL Databases for MOOC Applications

Security Vulnerabilities of Nosql and SQL Databases for MOOC Applications

International Journal of Digital Society (IJDS), Volume 8, Issue 1, March 2017 Security Vulnerabilities of NoSQL and SQL Databases for MOOC Applications Hossain Shahriar1, Hisham M. Haddad2 1Department of Information Technology 2Department of Computer Science Kennesaw State University, USA Abstract Massive Open Online Courses (MOOCs) are operations on big data, the database needs to be more popular among learners for free or low cost access scalable and robust. to education materials. It is estimated that millions Currently, there are more than dozens of NoSQL are currently users of various courses offered databases. However, Cassandra [22] and MongoDB through MOOCs. These courses are deployed on [16] are two popular choice of NoSQL database used open source technologies. With the increasing data by MOOC applications. generated while interacting with users, many of the The security concerns remain prevalent for deployed platforms have already switched to NoSQL MOOC learners. The stored data in MOOC database platform. However, there is little discussion application’s databases raise the issue of on the risks and threats that NoSQL related confidentiality and privacy of the data. In this paper, technologies pose to learners. This paper presents an we present a survey of common security concerns for in depth study of potential security vulnerabilities both relational and non-relational databases. We also and challenges for databases. We provide detailed provide some guidelines to mitigate them. We comparison between traditional SQL and NoSQL review vulnerabilities in two common NoSQL databases and identify a set of vulnerabilities databases used with MOOC applications (Cassandra inherent to representative database applications like and MongoDB) based on the literature [6-10, 17, 18]. MongoDB and Cassandra. We also provide We also discuss vulnerabilities in MySQL. examples of attacks. The discussion helps learners This paper is organized as follows: Section 2 and application developers to increase the compares SQL and NoSQL. Section 3 provides an awareness of threats arise while interacting online overview of MongoDB and Cassandra. Section 4 with platforms deploying NoSQL databases. provides an overview of NoSQL security considerations. Sections 5, 6, 7 discuss some 1. Introduction common security issues present in MongoDB, Cassandra, and MySQL databases, respectively. Massive Open Online Courses (MOOCs) are Section 8 provides some examples of attacks. popular among learners seeking low cost access to Finally, Section 9 concludes the paper. learning materials. Some MOOC providers such as Coursera [11], EdX [12] and Udacity [13] have 2. Comparison between SQL and NoSQL gained popularity. An estimated of over 7 million students in the United States alone have taken a To understand NoSQL, we first identify some minimum of one online course [14]. differences between SQL and NOSQL. SQL works MOOCs are special web applications intended for on structured data to store data in certain tabular learning management system. Earlier, we have format and have relations with other tables to conducted studies on learning analytics support and perform join operations. NoSQL is suitable for common security concerns for cloud applications and unstructured data [2,3,4]. It stores data in privacy [20, 21]. This paper examines in depth unstructured format and very flexible to perform security arising concerns from databases that may be operations in cluster computing environments. deployed by MOOC web applications. Below we discuss the differences. One common goal of having databases is to store and retrieve data. The data can be stored in relational a) Data model: SQL databases stores data in databases (SQL) like Oracle, DB2, SQL server, and tables with rows and columns. Tables can be related MySQL. However, the huge amount of data could be to one another and cooperate during data storage also stored in non-relational database (NoSQL). It is and retrieval. On the other hand, NoSQL databases well known that as the size of data and files become are not intended for storing data in rows and larger, traditional SQL database do not work very columns of tables. However, they store data in well [1]. The limitless array of data collection different formats and grouped together in chunks. technologies moved from simple online actions to Non-relational data is often stored as collections point of sale systems to GPS tools to smartphones (e.g., documents) which support JSON (JavaScript and tablets to sophisticated sensors. To perform Object Notation), key-value pairs or graphs. Figure Copyright © 2017, Infonomics Society 1244 International Journal of Digital Society (IJDS), Volume 8, Issue 1, March 2017 1 shows a high-level difference between SQL and CURD operations for data manipulation. NoSQL NoSQL data model. databases use Unstructured Query Language (UnQL) to perform CURD operations. NoSQL uses limited and effective access patterns. f) Integrity: SQL databases maintain integrity through four well known properties: Atomicity, Consistency, Isolation, and Durability (ACID). However, NoSQL databases are capable of providing Consistency, Availability, Partition Tolerance (CAP [5]) properties. Figure 2 shows the overlap between ACID and CAP. SQL databases can store and handle data reliably. Figure 1. Data model in MySQL and NOSQL The biggest proposition for NoSQL aims to handle problems related to big data. As the data is not structured and there are no operations like join and normalization, the work load is low. The features that are available in NoSQL enable to meet big data requirements in the present scenario. Table 1 provides an overview of the differences between SQL and NoSQL. Table 1. Differences between SQL and NoSQL Characteristic SQL NoSQL Data Storage Stores information in Data is stored in Figure 2. CAP Theorem the form of tables. different formats in Each row contains various databases b) Schema: The tables have a pre-defined schema information about that include key- (column definitions) to describe the data in SQL. one specific entity. value pairs, This gives data modeling paramount importance, and Columns store documents, graphs, necessitates the ‘Get it right first time’ attitude. separate data items. etc. Though pre-defined schema is stable and reliable, Schemas Creation of table is Schema is highly changing the schema on an existing data in the table based on schemas dynamic and and it is complex information can be is very difficult. Non-relational data, on the other task to alter the changed easily. It hand, thrives on dynamic schemas and is referred to schema once is flexible as unstructured data. Non-relational data can easily defined. compared to accommodate changes in data type/structure due to relational its dynamic schema support. databases. c) Normalization: Data stored in relational databases Scalability Scaling is vertical. It NoSQL is aim to provide high normalization – dividing data is possible to scale a horizontally into smallest logical tables to prevent duplication and RDBMS across scalable. More to retrieve data using joins. This involves high multiple servers, but servers can be it is difficult and added to increase computations and adds complexity. NoSQL time-consuming the performance. databases, on the other hand, are stored in flat process. collections, where data might often be duplicated. A Integrity The vast majority of NoSQL databases single chunk of data is seldom partitioned off, rather Compliance relational databases sacrifice ACID stored as an entity, thus allowing easier reads/writes are ACID compliant. compliancy for to that single entity. performance and d) Scalability: The main difference between SQL and scalability. NoSQL is the degree to scale the infrastructure. SQL databases support vertical scalability where it is 3. Overview of MongoDB and Cassandra possible to only add more processors and memories within the system. On the other hand, NoSQL supports horizontal scaling. Power is improved by 3.1. MongoDB adding more nodes into clusters. NoSQL databases can scale according to the web-scale processing MongoDB has rapidly grown to become a needs. popular database for web applications and clients, e) Data Manipulation: Relational databases backend and database layer. The database is a manipulate data using SQL queries. They perform physical container for collections. Each database gets Copyright © 2017, Infonomics Society 1245 International Journal of Digital Society (IJDS), Volume 8, Issue 1, March 2017 its own set of files on the file system. A single current practices in the field usually involve placing MongoDB server typically has multiple databases. the security in the middleware layer, and ignoring MongoDB is a collection of documents. This is security on the cluster level. equivalent to a RDBMS table. The collection is Some of the issues in NoSQL can be summarized present within a database. A collection of documents as follows. We discuss them separately for can contain a variety of fields. Each document may MongoDB and Cassandra in next two sections. have different fields. An example of MongoDB query for inserting • Encryption data is shown below. Here, each column:value • Inter node communications pair defines the property of a document. • Authentication • Authorization db.mycol.insert({ • Audit _id: ObjectId(7df78ad8902c), • Data consistency title: 'MongoDB Overview', description: 'MongoDB is no sql Below we show one specific code injection database', by: 'Paper', example for MongoDB. tags:

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us