IOTA Improved Design and Implementation of a Modular and Extensible Course Management System Andrew Hamilton 5 th Period.

Slides:



Advertisements
Similar presentations
MFA for Business Banking – Security Code Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing these QT sheets.
Advertisements

Module XIV SQL Injection
Using the Self Service BMC Helpdesk
Financial Aid Management System Account Registration and Confirmation.
Welcome to the CardSaver VoIP Billing & Call Management Demonstration © 2004, Parwan Electronics Corporation.
Introduction The concept of “SQL Injection”
By Brian Vees.  SQL Injection  Username Enumeration  Cross Site Scripting (XSS)  Remote Code Execution  String Formatting Vulnerabilities.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
E-commerce Web Site: Sales and Inventory Management System Markku Marjoneva.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Lecture 4: Introduction to PHP 3 PHP & MySQL
CAPTCHA Prabhakar Verma “08MC30”.
Security in SQL Jon Holmes CIS 407 Fall Outline Surface Area Connection Strings Authenticating Permissions Data Storage Injections.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Web-based Document Management System By Group 3 Xinyi Dong Matthew Downs Joshua Ferguson Sriram Gopinath Sayan Kole.
By Jeerarat Boonyanit. As you can see I have chosen Cpanel for my server management tool. cPanel is a Linux based web hosting control panel that provides.
CONNECTION SETTINGS FOR USE WITH THE MOTION COMPUTING MODEL-F5 TABLET COMPUTER AKA: SIMON October 8, 2011 (And other useful information.)
Lecture 3 – Data Storage with XML+AJAX and MySQL+socket.io
Best Practices in Moodle Administration Best Practices in Moodle Administration A variety of topics from technical to practical Jonathan Moore Vice President.
PHP Security.
IOTA Improved Design and Implementation of a Modular and Extensible Website Framework Andrew Hamilton – TJHSST Computer Systems Lab Abstract.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Overview of SQL Server Alka Arora.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
| | Tel: | | Computer Training & Personal Development Microsoft Office PowerPoint 2007 Expert.
Finish configuration cloudclinica root jdbc:postgresql:5432//localhost/cc_db JDBC Url: JDBC Driver: User name: Password: ******** org.postgresql.Driver.
WaveMaker Visual AJAX Studio 4.0 Training Authentication.
ESCOP ™ System Center Operations Portal Expanding SCOM 2007 Data Warehouse and ACS Function.
© 2003 By Default! A Free sample background from Slide 1 Week 2  Free PHP Hosting Setup  PHP Backend  Backend Security 
COMP3121 E-Commerce Technologies Richard Henson University of Worcester November 2011.
Online Translation Service Capstone Design Eunyoung Ku Jason Roberts Jennifer Pitts Gregory Woodburn Kim Tran.
CSE Waitlist Made By: Peng Hu, Zhicheng Lin, Mark Mosby, Robert Pittman, and Derek Robati.
In the web address box enter Enter your user ID (first and last initial 7 digit ID number) Select Log in.
authenticated networked guided environment for learning - secure integration of learning environments with digital libraries - Current.
Attacking Data Stores Brad Stancel CSCE 813 Presentation 11/12/2012.
ASP.NET The Clock Project. The ASP.NET Clock Project The ASP.NET Clock Project is the topic of Chapter 23. By completing the clock project, you will learn.
Analysis of SQL injection prevention using a filtering proxy server By: David Rowe Supervisor: Barry Irwin.
SQL INJECTIONS Presented By: Eloy Viteri. What is SQL Injection An SQL injection attack is executed when a web page allows users to enter text into a.
Ashley Montebello – CprE Katie Githens – SE Wayne Rowcliffe – SE Advisor/Client: Akhilesh Tyagi.
Web Applications Testing By Jamie Rougvie Supported by.
CTP210 TERM PROJECT
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Controlling Web Site Access Using Logins CS 320. Basic Approach HTML form a php page that collects the username and password  Sends them to second PHP.
Creating a simple database This shows you how to set up a database using PHPMyAdmin (installed with WAMP)
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
FDOT Database Training #2 May 3, 2010 Presented by Erica Hughes & Michael Faraone Bridge Software Institute University of Florida.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 1: Introduction to IS2803 Rob Gleasure
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Preventing MySQL Injection Sonja Parson COSC 5010 Security Presentation April 26, 2005.
ASSIGNMENT 02 – Week of Nov 16 th IDEAS SQL insert and update statements Programmers-defined functions in PHP PHP safe IO functions: mysql_real_escape_string.
ASSIGNMENT 2 Salim Malakouti. Ticketing Website  User submits tickets  Admins answer tickets or take appropriate actions.
A Mobile Library Management System Advisor: Dr. Shen Student: Ananta Gampaa November 8 th,2005.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
Aaron Corso COSC Spring What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
Installing and Configuring Moodle. Download Download latest Windows Install package from Moodle.orgMoodle.org.
EIONET Portal Tool Kit Miruna Bulandra Finsiel Romania Copenhagen, 28 May 2002.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Christopher Seeley, Ralph Mattiaccio Ken Bodzak, Will Abeel, Danielle Maginnis.
SECTION 1: Add-ons to PowerPoint
SQL INJECTION ATTACKS.
Web Applications Security INTRO
Web File Sharing.
Exercise: Hashing, Password security, And File Integrity
Presentation transcript:

IOTA Improved Design and Implementation of a Modular and Extensible Course Management System Andrew Hamilton 5 th Period

Background Blackboard Outdated Non-extensible Security holes Disliked Moodle Support is limited Lacks some features Iodine Code is complicated Easy to Break existing functionality

Purpose/Goals Design/Implement a Web-based framework Modular Design Easily Extensible Intuitive Interface Standards Compliant Possible Iodine Integration

Quarter 1 Kernel Module Configuration File Security Module Application Security Login Screen The Main Site Page

Quarter 2 Python Wrapper Script Interfaces with Radio via RS-232 Login Module Authenticates Users and provides session management control.

Quarter 3 Satellite-Ground Interface Antenna mounted on dual-axis rotator. Auto-tracks using SatPC32 running on a Windows Box Radio currently connected to same Windows Box. Web Submissions MySQL DBSQL Query Admin Approval Serial Radio/Satellite

Problems/Limitations SatPC32 (tracker program) only runs on Windows Communication between Windows (tracker/radio) and Linux (webserver/MySQL DB) will likely have to be initiated by Windows This prevents real-time command sequencing using web interface. :( (nice feature to have though not critical) Perhaps hook radio up to Linux box and use Windows only as tracker (tracker and radio can be separated).

Message Submission Required Features Page must work without credentials Prevent Automated Submission Prevent/filter double-submissions Submit data to secure DB Optional Enhancements Allow deletion of quotes by submitter View submitted/previously transmitted messages? Possible Solutions Make page separate from kernel (outside of kernel security) ReCAPTCHA (by CMU) Search for message in DB and notify if already present Give form INSERT permissions only Generate a unique hash and deliver it to the submitter Output a table of old quotes by date

Spam Prevention Features ReCAPTCHA blocks auto- submissions by random bots All inputs are escaped before use is obfuscated to protect against harvesting.

reCAPTCHA Developed by CMU Works to digitize old books and block bots simultaneously One of the most secure captchas available today Provides audio captcha for the visually impaired Easy to Implement (plugins/libraries) require_once('recaptchalib.php'); $privatekey = "6LfmUgUAAA "; $resp = recaptcha_check_answer ($privatekey,$_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]); if(!$resp->is_valid) $errors[] = "The reCAPTCHA wasn't entered correctly. Try it again."; require_once('recaptchalib.php'); $publickey = "6LfmUgUAAAAAAG45AtY6ok6gTLXsncjMaY9YIRrM"; echo recaptcha_get_html($publickey);

Data Escape Prevents various injection attacks against the database All data is run through an escape_data function function escape_data($mysqli_connection, $data) { if(ini_get('magic_quotes_qpc')) $data = stripslashes($data); $data = mysqli_real_escape_string($mysqli_connection, $data); return $data; } //End of function escape_data() $fname = escape_data($mysqli_connection, htmlspecialchars($_POST['fname'])); Comic from XKCD (xkcd.com) by Randall Munroe

Obfuscation Nifty Tool turns plain-text into the same text but encoded in various bases. Effective and quick means of preventing harvesting User is completely unaffected ReCAPTCHA also offers a more secure (but more obvious) solution that requires users to solve a CAPTCHA to see the . Users see this Bots see this ahami&#x 6c;to@tjhs&#x 73;t.edu

Conclusion Website security is a fairly straightforward solution to provide as a module. In the future, this system could be expanded to create a common logon system (same username and password for different sites, similar to a Google Account). Other features to add are the ability to authenticate against other systems (Kerberos, LDAP, Certificates).

Any Questions?