Top Banner
49

Assignment 2 of Database (Database Security)

Feb 23, 2017

Download

Data & Analytics

Aey Unthika
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Assignment 2 of Database (Database Security)
Page 2: Assignment 2 of Database (Database Security)

Group 8• นายเฉลมเกยรต ชนะชาญ

• นายธนวชญ โทราช• นสอญธกาหนองบว

Assignment 2

Page 3: Assignment 2 of Database (Database Security)

Database SecurityCompare With File-System Security (Permission)

• Standard Permission เปน Permission ทไดน ำเอำ SpecialPermission มำจดกลมใหจ ำนวนรำยกำรลดลงเหลอเพยง 4 กลมส ำหรบแฟมขอมลไดแก

Page 4: Assignment 2 of Database (Database Security)

Database SecurityCompare With File-System Security (Permission)

• Read(RX) ประกอบดวย Special Access 2 รำยกำรคอ Read และ Executeซงหมำยถงสำมำรถอำนขอมล และเรยกโปรแกรมมำท ำงำน (ถำแฟมนนเปนโปรแกรมรวม)

• Change(RWXD) ใชส ำหรบอำน/แกไข/ลบขอมล• Full Control(RWXDPO) สำมำรถท ำรำยกำรไดทงหมด• No Access() ไมสำมำรถเรยกดขอมลได ถงแมวำจะอยในกลม ทก ำหนดใหเรยกดได (หมำยถง

No Access จะ Overwrite ควำมสำมำรถอน) รำยกำรส ำหรบโฟลเดอร ไดแก (รปแบบก ำรแสดงเป น xxxx (dir-permission) (file-permission) วงเลบแรกเปนกำรก ำหนดสทธส ำหรบโฟลเดอรนน สวนวงเลบหลงเปนกำรก ำหนดสทธของแฟมขอมล ในโฟลเดอรนน

Page 5: Assignment 2 of Database (Database Security)
Page 6: Assignment 2 of Database (Database Security)

Specifications of Computer

Page 7: Assignment 2 of Database (Database Security)
Page 8: Assignment 2 of Database (Database Security)

Simple Database ForA1 User

Page 9: Assignment 2 of Database (Database Security)

Tables\Name Users Passenger Airport Staff AdminsAirport R CRU Full Control (CRUD)

Airplane_Type - CRU Full Control (CRUD)

Airplane - CRU Full Control (CRUD)

Leg_Instance - CRU Full Control (CRUD)

Seat R CRU Full Control (CRUD)

Flight_Leg R CRU Full Control (CRUD)

Flight R CRU Full Control (CRUD)

Fare R CRU Full Control (CRUD)

Can_Land - CRU Full Control (CRUD)

Discretionary Access Control

R: Read, Retrieve C: Create U: Update, Modify D: Delete, Destroy

Page 10: Assignment 2 of Database (Database Security)

Create User

Page 11: Assignment 2 of Database (Database Security)

•MysqlCreate User

Page 12: Assignment 2 of Database (Database Security)

•Mysqlค ำสงทใช

ผลลพธทได

Page 13: Assignment 2 of Database (Database Security)

•MysqlPassenger

ค ำสงทใช

Page 14: Assignment 2 of Database (Database Security)

•Mysqlสทธท user Passenger สำมำรถเขำถงได

Page 15: Assignment 2 of Database (Database Security)

•MysqlAirport Staff

ค ำสงทใช

ผลลพธทได

Page 16: Assignment 2 of Database (Database Security)

•MysqlAdmins

ค ำสงทใช

ผลลพธทได

Page 17: Assignment 2 of Database (Database Security)

•PostgreSQLCreate user

Page 18: Assignment 2 of Database (Database Security)

•PostgreSQLค ำสงทใช

ผลทได

Page 19: Assignment 2 of Database (Database Security)

•PostgreSQL Passenger

ค ำสงทใช

Page 20: Assignment 2 of Database (Database Security)

•PostgreSQLAirport Staff

ค ำสงทใช

Page 21: Assignment 2 of Database (Database Security)

•PostgreSQLAdmins

ค ำสงทใช

Page 22: Assignment 2 of Database (Database Security)

•PostgreSQLผลลพธทได

Page 23: Assignment 2 of Database (Database Security)

•SQLite3ค ำสงทใช

สรำง user ubuntu ขนมำ 2 user โดยท admins จะ ท ำไดทกอยำง เชนกำรอำนขอมล

Page 24: Assignment 2 of Database (Database Security)

•SQLite3Passenger จะอำนไดอยำงเดยว ถำ insert จะขนดงรป

admin insert+select ได

Page 25: Assignment 2 of Database (Database Security)

Database Log Files

Page 26: Assignment 2 of Database (Database Security)

Database Log Files

• ต ำแหนงข อง Log filesใน Ubuntu : /var/log/postgresql/

Page 27: Assignment 2 of Database (Database Security)

การด Database Log Files

• สำมำรถกดดไดดวยค ำสง cat , tail , head , nano , geditตวอยำง tail postgresql-9.3-main.log

Page 28: Assignment 2 of Database (Database Security)

ตวอยำง nano postgresql-9.3-main.log

Page 29: Assignment 2 of Database (Database Security)

Backup/Restore

Page 30: Assignment 2 of Database (Database Security)

Backup /Restore Database Files

• Backup ใชค ำสง pg_dump –Fc Database Name > Backup_Name.bakหรอ pg_dump –Ft Database Name > Backup_Name.tar

• Restore ใชค ำสง pg_restore –Fc Database Name > Backup_Name.bak หรอ pg_resotre –Ft Database Name > Backup_Name.tar

Page 31: Assignment 2 of Database (Database Security)

PostgreSQL Backup /Restore

ไฟลจะอยใน /var/lib/postgreSQL

Page 32: Assignment 2 of Database (Database Security)

PostgreSQL Backup /Restoreสรำงdatabase ใหม

ค ำสง restore

เสรจแลวจะปรำกฏดงรป

Page 33: Assignment 2 of Database (Database Security)

PostgreSQL Backup /Restore

Page 34: Assignment 2 of Database (Database Security)

SQLite3 Backup /Restoreค ำสง backup

ไฟลจะอยบน desktop

Page 35: Assignment 2 of Database (Database Security)

SQLite3 Backup /Restoreค ำสง restore

Page 36: Assignment 2 of Database (Database Security)

mySQL Backup /Restoreค ำสง backup

ค ำสง restore

Page 37: Assignment 2 of Database (Database Security)

mySQL Backup /Restore

Page 38: Assignment 2 of Database (Database Security)

Possible unethical uses of your group database?

Page 39: Assignment 2 of Database (Database Security)

•Our Databaseabout airline reservations system.

การเปดเผยขอมลลกคา (ผโดยสาร) เปนการไมสมควรเนองจากถอเปนการละเมดสทธสวนบคคล ซงผดตอกฎหมาย และอาจกอใหเกดความเสยหายได

การเปดเผยขอมลเทยวบน เนองจากอาจกอใหเกดความเสยหายตอสายการบน ทงดานความปลอดภย และความนาเชอถอ อาจเปนเหตท าใหเกดการกออาชญากรรมบนเครองบนไดงาย เพราะทราบขอมลทงหมดแลว

Page 40: Assignment 2 of Database (Database Security)

SQL Injection

Page 41: Assignment 2 of Database (Database Security)

• SQL INJECTION

SQL injection is a technique where malicious users can inject SQL commands into an SQL statement, via web page input.เปนเทคนคทผประสงครายสามารถบบค าสงของ SQL เขาไปในขอความ SQL ผานทางหนาเวปเพจInjected SQL commands can alter SQL statement and compromise the security of a web application.ค าสง SQL ทถกบบอด สามารถปรบเปลยนค าสง SQL และยอมรบความปลอดภยของเวปแอปพเคชน

Page 42: Assignment 2 of Database (Database Security)

• Example of SQL Injection

ตองกำรคนหำขอมลสำยกำรบน DMKค ำสง SELECT * FROM Airport WHERE Airport_code = ‘DMK’;

Page 43: Assignment 2 of Database (Database Security)

• Example of SQL Injection

และถำเพม or 1=1ค ำสง SELECT * FROM Airport WHERE Airport_code = ‘DMK’ or 1=1;

Page 44: Assignment 2 of Database (Database Security)

• How to test SQL Injection

ตรวจสอบเพอทตองการหาวาการคนหาหรอดงขอมล (Query) จากดาตาเบส นนถกตองตามทตองการหรอไมสวนทตองการตรวจสอบกคอสวนทมปฏสมพนธกบขอมลโดยตรงเชน สวนของลอกอนของผใช(Authentication) , สวนคนหาขอมล(Search Engines) , สวนทกรอกจ านวนสนคา หรอราคาตางๆ (E-commerce)

Page 45: Assignment 2 of Database (Database Security)

• Standard SQL Injection Testing

1. SQL Injection based on 1 = 1 is always TRUE2. SQL Injection based on “=“ is alsways TRUE3. SQL Injection based on batched SQL statements

Page 46: Assignment 2 of Database (Database Security)

• SQL Injection Based on ""="" is Always True

SELECT * FROM Airport WHERE Airport_code = ‘DMK’ or 1=1;

Page 47: Assignment 2 of Database (Database Security)

• SQL Injection based on “=“ is alsways TRUE

Page 48: Assignment 2 of Database (Database Security)

• SQL Injection based on batched SQL statements

Page 49: Assignment 2 of Database (Database Security)