Front end (user interfaces) Facilitating the user‘s interaction with the SandS services and processes I. Mlakar, D. Ceric, A. Lipaj Valladolid, 17/12/2014.

Slides:



Advertisements
Similar presentations
Overview Environment for Internet database connectivity
Advertisements

Chapter 17: WEB COMPONENTS
CSE 461 Section. “Transport Layer Security” protocol Standard protocol for encrypting Internet traffic Previously known as SSL (Secure Sockets Layer),
Michelle J. Gosselin, Jennifer Schommer Guanzhong Wang.
(4.4) Internet Protocols Layered approach to Internet Software 1.
The Internet Useful Definitions and Concepts About the Internet.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
XP Tutorial 9 New Perspectives on JavaScript, Comprehensive1 Working with Cookies Managing Data in a Web Site Using JavaScript Cookies.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
SE-2840 Dr. Mark L. Hornick1 Java Servlet-based web apps Servlet Architecture.
Martin Kruliš by Martin Kruliš (v1.0)1.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
CSCI 323 – Web Development Chapter 1 - Setting the Scene We’re going to move through the first few chapters pretty quick since they are a review for most.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FORESEC Academy FORESEC Academy Security Essentials (II)
IT 210 The Internet & World Wide Web introduction.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Prevent Cross-Site Scripting (XSS) attack
Comp2513 Forms and CGI Server Applications Daniel L. Silver, Ph.D.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Introduction to InfoSec – Recitation 7 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Characteristics of Communication Systems
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
Working with Cookies Managing Data in a Web Site Using JavaScript Cookies* *Check and comply with the current legislation regarding handling cookies.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
TNC2004 Rhodes 1 Authentication and access control in Sympa mailing list manager Serge Aumont & Olivier Salaün May 2004.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
Online Translation Service Capstone Design Eunyoung Ku Jason Roberts Jennifer Pitts Gregory Woodburn Kim Tran.
Chapter 8 Cookies And Security JavaScript, Third Edition.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
1 Welcome to CSC 301 Web Programming Charles Frank.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Web Database Programming Week 7 Session Management & Authentication.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
1 Introduction to Servlets. Topics Web Applications and the Java Server. HTTP protocol. Servlets 2.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Introduction and Principles Web Server Scripting.
Securing Angular Apps Brian Noyes
WEB SERVER SOFTWARE FEATURE SETS
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
Web Application (In)security Note: Unless noted differently, all scanned figures were from the textbook, Stuttard & Pinto, 2011.
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Overview Web Technologies Computing Science Thompson Rivers University.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
National College of Science & Information Technology.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web Technologies Computing Science Thompson Rivers University
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
World Wide Web policy.
BOF #1 – Fundamentals of the Web
Web Technologies Computing Science Thompson Rivers University
Presentation transcript:

Front end (user interfaces) Facilitating the user‘s interaction with the SandS services and processes I. Mlakar, D. Ceric, A. Lipaj Valladolid, 17/12/2014

Overal Goal Specification, design, development and deployment of user environment allowing users the engagement and interaction of with the SandS system (services and processes within different Sands layers). The goals and requirements are achieved via the developed and deployed highly modular SandS front-end web-application Specific requirements  Providing access to SandS system (user registration and profiles)  Providing access to SandS services regarding recipes, and appliances  Task description via natural language (including speech)  Full circle communication over secured bi-directional communication channels

Front end as gateway between user and SandS system  PHP based web appliaction core,  Dynamic resources, loaded as required,AjaxLoader + JavaScript Loader, via url: index.php?class=domain&function=module  Static resources, loaded only upon refresh (page load), HTTPLoader, via url: index.php?main_page=page_title  Using latest web-standards CSS3, WW3C WebSokcets, WW3C Web Speech API, HTML 5  Stand-alone WebSocket Server, Php server, hybi10 protocol,

Full Communication circle No data is stored by front-end  Dislocation: DI and front end do not share system resources; Client-Side: ajax connectors (load without refresh), HTML5 WebSockets client (WWW3C compliant), HTML 5 Web Speech Client (WWW3C compliant)  Bi-directionality: front-end and DI can both trigger communication

User‘s Registration and Sign-in  Web forms (functions, resources and protocols) for registration, sign and update of user profiles  Communication between web GUI (client) and core (server) request/response based via ajax, HTTP.  Communication between front_end core and DI request/response based via HTTPS JSON.  Front-end acting as mediator between web GUI and DI

Appliance management  Dynamic web forms & resources, functions and protocols that allow users to: list, engage/remove appliances to/from their location  DI is source of information, front-end only serves as a mediator.

Recipes And Evaluation  Starts with user action which loads dynamical resources  Task description by either typing or speech recognition client (extended from Google Speech Recognition AP)  NLP module: extract the relevant parameters (POS tagging/matching)  match them against an appliance.  Ajaxloader: load and populate the appliance dependent task specification form

Recipes And Evaluation (continued)  Translated into DI compatible format and transmit to DI via DI connector  Load recipes detail form. Refine and/or Confirm  Send to DI as JSON (location, recipe_id, appliance_id).  Upon completion of the recipe users may also evaluate its final outcome.  The DI returns the best-matching recipe as a JSON encoded object

Messaging  Communication between DI and web GUI in triggered by DI.  DI-listener service enabling cross- domain interaction (domain restricted) If message and origin are verified they are dispatched to designated user-front-ends (receivers) COMPONENTS: javascript WebSockets client, PHP WebSocket server, PHP WebSocket client, DI-Listener web service Protocol: WebSocket hybi10 protcol  PHP WebSocketClient transmits verified message to WebSocket Server (connect, send, disconnect) (IP restricted).

Security  XSF attacks (page encryption): via encrypted sessions through security token.  Token is renewed at each load, stored as $_SESSION parameter and HTML element. Upon data/action submission both are checked by HTTPLoader or AjaxLoader.  XSS attacks (server-side data validation): via incoming data sanitation process.  HTML sanitation removing/escaping HTML tags including tags, remove escape sequences (e.g. '//'),  URL sanitation removing sequences starting with http, document., $(, etc.  POST/GET parameter sanitation prior processing exclude POST/GET parameter- names/values that contain certain black-listed constants (e.g. 'GLOBALS', '_COOKIE', '_ENV', '_FILES', '_GET', '_POST',…)

Security (continued)  Content Security Policy:.htaccess files are used to protect against unwanted snooping, file/folder permissions are set to read (CHMOD 644 for files and 755 for folders), server management via encrypted connections (SFTP (SSH FTP) for FTP access and PuttySecure command line connections)  Front-end/DI communication: secured via HTTPS, by using OpenSSL and self-signed SSL certificates. All the data exchanged between the entities is also sanitized  DI/Front-end cross-domain communication: secured via domain restricted HTTP. Only If the origin is verified the appropriate headers are set.  WebSocket hybi10 protocol: The security model used for this is the Origin-based security model commonly used by Web browsers. The protocol consists of an opening handshake followed by basic message framing, layered over TCP. We also implemented additional IP/domain restriction for accessing the message distribution service.

Thank You for your attention!