Update on MIT-LL Integration Bill Harris and Rich Joiner.

Slides:



Advertisements
Similar presentations
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Advertisements

Java Script Session1 INTRODUCTION.
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Lesson 4: Web Browsing.
INSTALLATION OF WORDPRESS. WORDPRESS WordPress is an open source CMS, often used as a blog publishing application powered by PHP and MySQL. It has many.
Web applications. Javascript. Web 2.0: The dynamic, read-write web UC Santa Cruz CMPS 10 – Introduction to Computer Science
Multiple Tiers in Action
Bending Binary Programs to your Will Rajeev Barua.
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
Web Integration to an Appx Backend Server. Unix web servers + CGI Win2K web servers + ASP Win2K web servers + ODBC Processing requests Generating HTML.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
PHP and MySQL Week#1  Course Plan.  Introduction to Dynamic Web Content.  Setting Up Development Server Eng. Mohamed Ahmed Black 1.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
CGS3066: Web Programming and Design Summer 2014 Instructor Mir Anamul Hasan.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
DotNetNuke v4 on ASP.NET v2 Stan Schultes Stan Schultes Enterprise architect / application developer Enterprise architect / application developer Conference.
Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
Microsoft Office Project Desktop Development Marcel Parent Program Manager Project Microsoft Corporation.
Programming the Web Web = Computer Network + Hypertext.
SharePoint 2010 Development Environment A Guide to Setup SharePoint 2010 Development Environment on Windows 7 Machine.
JavaScript is a client-side scripting language. Programs run in the web browser on the client's computer. (PHP, in contrast, is a server-side scripting.
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Policy Weaving for System Security Thomas Reps and Somesh Jha University of Wisconsin Thomas RepsSomesh Jha Bill Harris Junghee Lim Matt Fredrikson Min.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
The HipHop Compiler from Facebook By Megha Gupta & Nikhil Kapoor.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
1 Media Production Support v1 5 May 2010 Blake Crosby June 2, 2010 Standards Documents.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
Fall 2004CSI University of Ottawa Introduction to PHP Basic principles and syntax.
IRODS: the use of rules and micro services for automatic data conversion and signal pattern searching Martyn Fletcher, Tom Jackson, Bojian Liang, Michael.
Apache Web Server Quick and Dirty Kevin G. Chege for AfNOG 2013 (Originally by Joel Jaeggli for AfNOG 2007) ‏
44238: Dynamic Web-site Development Client Side Programming Ian Perry Room:C48 Extension:7287
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
הרצאה 4. עיבוד של דף אינטרנט דינמי מתוך Murach’s PHP and MySQL by Joel Murach and Ray Harris.  דף אינטרנט דינמי משתנה עפ " י הרצת קוד על השרת, יכול להשתנות.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
ICM – API Server Gary Ratcliffe. 2 Agenda Webinar Programme API Server Overview JSON-RPC iCM API Service API Server and Forms New services under.
COMP 2923 A2 Website Development 101 Danny Silver JSOCS, Acadia University.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
Overview Web Technologies Computing Science Thompson Rivers University.
CX Introduction to Web Programming
Applications Active Web Documents Active Web Documents.
JQuery Fundamentals Introduction Tutorial Videos
Web Technologies Computing Science Thompson Rivers University
Stress Free Deployments with Octopus Deploy
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Learning to Program D is for Digital.
Lesson 4: Web Browsing.
ISC440: Web Programming 2 AJAX
Google App Engine Ying Zou 01/24/2016.
Lesson 4: Web Browsing.
Intro to PHP.
Web Technologies Computing Science Thompson Rivers University
David Cleverly – Development Lead
Web Application Development Using PHP
Presentation transcript:

Update on MIT-LL Integration Bill Harris and Rich Joiner

Schedule: JAM Deliverables: ◦ Policy for Secure Note application ◦ JAM weaver ◦ Chrome browser modified for enforcement Weaver/policy delivery planned for 9/3. Enforcement delivery planned for 9/10.

Application: Secure Note Written by MIT-LL crew Code comprises ◦ SNote application logic ◦ Midori UI library ◦ Google AES encryption library

Policy Read-only, write-once for display elements Write-only, read-once for input elements

Policy state machine a: set(%x.textContent) && %x.className === “non-editable” 0 1 f: set(%x.textContent) && %x.className === “read-only” b: set(%x.innerHTML) && %x.className === “non-editable” e: set(%x.textContent) && %x.className === “read-only” c: get(%x.textContent) && %x.className === “destructive-read” h: get(%x.textContent) && %x.className === “write-only” d: get(%x.innerHTML) && %x.className === “destructive-read” g: get(%x.textContent) && %x.className === “write-only” 2 a|b e|f|g|h c|d

Policy specification 0,2: set(%x.textContent) && %x.className === "non-editable" 2,-1: set(%x.innerHTML) && %x.className === "non-editable" 0,2: set(%x.innerHTML) && %x.className === "non-editable" 2,-1: set(%x.textContent) && %x.className === "non-editable" 0,-1: set(%x.innerHTML) && %x.className === "read-only“ 0,-1: set(%x.textContent) && %x.className === "read-only" 0,1: get(%x.textContent) && %x.className === "destructive-read" 1,-1: get(%x.textContent) && %x.className === "destructive-read" 0,1: get(%x.innerHTML) && %x.className === "destructive-read" 1,-1: get(%x.innerHTML) && %x.className === "destructive-read" 0,-1: get(%x.textContent) && %x.className === "write-only" 0,-1: get(%x.innerHTML) && %x.className === "write-only"

JAM Weaver To be delivered as a virtual machine image ◦ Compiled JAM binaries ◦ Test cases ◦ Script to download and install dependencies ◦ Documentation  Policy specification language  General usage  Current limitations

Enforcement Checks are evaluated at runtime in an isolated forked process JavaScript native functions added to trigger the fork and evaluate policy predicates To be delivered as a stand-alone Chrome binary built on FreeBSD 9.

CapWeave in the CRASH System 1. Overview of CapWeave usage 2. Sketch of our approach 3. Discuss deliverables, requirements

CapWeave Usage CRASH server generates web content by running php scripts CRASH team defines policy for all php scripts CRASH team applies CapWeave to rewrite php interpreter to enforce policy

php workflow php filesystem web_script.cgi web content

php Requirements 1. Whitelist of system libs: read-only 2. php, MediaWiki config. files: read-only 3. MediaWiki php scripts: read-only 4. MediaWiki skin files: read-only 5. Scratch directories (e.g., /tmp): read- write 6. Sockets to database server: read-write

CapWeave in the CRASH System 1. Overview of CapWeave usage 2. Sketch of our approach 3. Discuss deliverables, requirements

UW Challenges 1. Express requirements in policy language 2. Rewrite/weave the php to satisfy the policy

int shim_open(char* path, int mode) { int fd = open(path, mode); if (sat_req_1(path)) { cw_act(0); } if (sat_req_2(path)) { … } return fd; } A Shim for open()

Requirement 1 Policy (* requirement 1 policy: *) let not_fd_read = … in any_act*. (cw_act 0). (any_prog_act with not_fd_read)

int shim_open(char* path, int mode) { int fd = open(path, mode); if (sat_req_1(path)) { cw_act(0); lc_limitfd(fd, CAP_READ); } if (sat_req_2(path)) { … } return fd; } A Weaved shim_open()

CapWeave in the CRASH System 1. Overview of CapWeave usage 2. Sketch of our approach 3. Discuss deliverables, requirements

Requirements Decision functions for each requirement E.g.: ◦ int is_whitelist_sys_lib(char* path) ◦ int is_mediawiki_config(char* path)

Deliverables Policy regex text file Capsicum 9 VMWare image with weaved php ◦ Capsicum team recently posted a working Capsicum VMWare image

Extra Slides