+ All Categories
Home > Documents > IOTA Improved Design and Implementation of a Modular and Extensible Course Management System Andrew...

IOTA Improved Design and Implementation of a Modular and Extensible Course Management System Andrew...

Date post: 31-Dec-2015
Category:
Upload: mercy-anthony
View: 222 times
Download: 8 times
Share this document with a friend
15
IOTA Improved Design and Implementation of a Modular and Extensible Course Management System Andrew Hamilton 5 th Period
Transcript
Page 1: IOTA Improved Design and Implementation of a Modular and Extensible Course Management System Andrew Hamilton 5 th Period.

IOTA ImprovedDesign and Implementation of a Modular and

Extensible Course Management System

Andrew Hamilton5th Period

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

BackgroundBlackboard

Outdated Non-extensible Security holes Disliked

Moodle Support is limited Lacks some features

Iodine Code is complicated Easy to Break existing functionality

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

Purpose/GoalsDesign/Implement a Web-based framework

Modular Design Easily Extensible Intuitive Interface Standards Compliant Possible Iodine Integration

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

Quarter 1

Kernel Module

Configuration File

Security Module

Application Security

Login Screen

The Main Site Page

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

Quarter 2

Python Wrapper Script

Interfaces with Radio via RS-232

Login Module

Authenticates Users and provides session management

control.

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

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.

WebSubmissions MySQL DBSQL Query

Admin Approval

Serial Radio/Satellite

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

Problems/LimitationsSatPC32 (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).

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

Message SubmissionRequired 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

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

Spam PreventionFeatures

ReCAPTCHA blocks auto-submissions by random bots

All inputs are escaped before use Email is obfuscated to protect

against harvesting.

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

reCAPTCHADeveloped 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);

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

Data EscapePrevents various injection attacks against the database

All data is run through an escape_data functionfunction 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

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

Email ObfuscationNifty Tool turns plain-text email into the same text but encoded in various bases.

Effective and quick means of preventing email harvestingUser is completely unaffectedReCAPTCHA also offers a more secure (but more obvious)

solution that requires users to solve a CAPTCHA to see the

email.

Users see this

Bots see this<a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#x3a;&#x61;&#104;&#97;&#x6d;&#x69;&#x6c;&#116;&#111;&#x40;&#116;&#x6a;&#x68;&#115;&#x73;&#x74;&#46;&#x65;&#x64;&#x75;">&#x61;&#104;&#97;&#x6d;&#x69;&#x6c;&#116;&#111;&#x40;&#116;&#x6a;&#x68;&#115;&#x73;&#x74;&#46;&#x65;&#x64;&#x75;</a>

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

ConclusionWebsite 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).

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

Any Questions?

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

Recommended