PROJECT 35: A PLATFORM FOR MONITOR DEFINITION, INTEGRATION, AND SYNTHESIS STUDENTS: HESHAM YASSIN, SARI SADIYA SUPERVISORS: TAMER SALMAN, RONEN LEVY.

Slides:



Advertisements
Similar presentations
1 CSC 551: Web Programming Spring 2004 client-side programming with JavaScript  scripts vs. programs  JavaScript vs. JScript vs. VBScript  common tasks.
Advertisements

Lecture 1: Overview of Computers & Programming
Internal Logic Analyzer Final presentation-part B
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
How do Networks work – Really The purposes of set of slides is to show networks really work. Most people (including technical people) don’t know Many people.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Computing Components 01/26/11. Announcements & Reminders Programs 1 due Friday, 9/2/11 What is my late policy? Proxy Codes for Labs  You should be able.
1 Gentle Introduction to Programming Tirgul 1: Shell and Scala “hands on” in the lab.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
INTRUSION DETECTION SYSTEMS Tristan Walters Rayce West.
Types of software. Sonam Dema..
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
LÊ QU Ố C HUY ID: QLU OUTLINE  What is data mining ?  Major issues in data mining 2.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Chapter Introduction to Computers and Programming 1.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Introducing Java.
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Components of Database Management System
Implementing a Port Knocking System in C Honors Thesis Defense by Matt Doyle.
DISTRIBUTED tcpdump CAPABILITY FOR LINUX Research Paper EJAZ AHMED SYED Dr. JIM MARTIN Internet Research Group. Department Of Computer Science – Clemson.
1 Problem Solving with C++ The Object of Programming Walter Savitch Chapter 1 Introduction to Computers and C++ Programming Slides by David B. Teague,
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 9 Performing Vulnerability Assessments.
Java server pages. A JSP file basically contains HTML, but with embedded JSP tags with snippets of Java code inside them. A JSP file basically contains.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
The Problem of State. We will look at… Sometimes web development is just plain weird! Internet / World Wide Web Aspects of their operation The role of.
The Module Road Map Assignment 1 Road Map We will look at… Internet / World Wide Web Aspects of their operation The role of clients and servers ASPX.
Computer Science By: Erica Ligons Compound Statement A compound statement- block A compound statement- is a unit of code consisting of zero or more statement.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
Our project main purpose is to develop a tool for a combinatorial game researcher. Given a version of combinatorial puzzle game and few more parameters,
ICEE Internship International Center for Engineering Education Project: Natural Language Interaction with a Construction Estimating Virtual Reality Environment.
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
PROJECT 35 – IBM MIDWAY PRESENTATION Supervisors: Tamer Salman, Ronen Levy Students: Sari Saba Sadiya, Hesham Yassin A platform for monitor definition,
Introduction to Computer Programming using Fortran 77.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
World Wide Web has been created to share the text document across the world. In static web pages the requesting user has no ability to interact with the.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Java Programming Fifth Edition Chapter 1 Creating Your First Java Classes.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
DIVYA K 1RN09IS016 RNSIT1. Cloud computing provides a framework for supporting end users easily through internet. One of the security issues is how to.
CS-140 Dick Steflik Lecture 3. Java C++ Interpreted optimized for the internet Runs on virtual ized machine Derived from C++ Good object model Widely.
BASIC PROGRAMMING C SCP1103 (02)
Managing The Internet of Things
GC101 Introduction to computer and program
Chapter 1 Introduction to Computers, Programs, and Java
BASIC PROGRAMMING C SCP1103 (02)
Introduction to Operating System (OS)
Apama CEP for OpenEdge Developers
Use of Mathematics using Technology (Maltlab)
Simple Socket Client Project 1.
Chapter 7 –Implementation Issues
General Computer Science for Engineers CISC 106 Lecture 03
Programming Logic and Design Eighth Edition
Presentation transcript:

PROJECT 35: A PLATFORM FOR MONITOR DEFINITION, INTEGRATION, AND SYNTHESIS STUDENTS: HESHAM YASSIN, SARI SADIYA SUPERVISORS: TAMER SALMAN, RONEN LEVY

OBJECTIVES Our main objective was to construct a platform in which a user could define integrate and synthesize monitors for traffic analysis purposes. This included: 1.Constructing a language for monitor definition: MSL prime 2.Creating a GUI in which the user can define monitors. 3.Creating an interpreter from our MSL language to compilable C++ code. one should note that it is “purpose generic” and can support any kind of data analysis where temporal expressions are used. (financial transactions, physical interactions …) However, In this presentation we will focus on the “traffic monitoring for security” aspects of this tool.

METHODOLOGY The monitor specification language MSL prime was derived from known temporal logic languages such as PSL and SVA and modified for user convenience and functionality purposes. JJTree was used to create an interpreter from MSL prime to an “augmented C++” files containing PSL blocks. These were in turn sent to an IBM TOOL to create clean C++ files. SWT platform was used to create the GUI. It was edited on eclipse and compiled using Java platform se7. The development was performed on a linux 32 bit machine. However the IBM TOOL runs only on 64 bit machines; Thus we use vmware player to simulate a 64 bit machine.

DELIVERABLES Our GUI supports all the required functionality such as adding new events actions and monitors; Moreover, we have developed a “Template” feature which allows the definition of templates enabling the “simple user” to write events in simple English without any knowledge of MSL prime. When exporting the events actions and monitors the interpretation component produces “augmented C++” files (containing C++ code with PSL blocks) to be compiled be the script. Our runMonitor script runs receives the output files of the GUI, compiles them and analyze a given traffic file.

GUI Language packet MSL files MSL interpreter IBM TOOL C++ files Augmented C++ files Export from the GUI./runMonitor myMonitors Traffic txt file

TEMPLATE USAGE EXAMPLES Suppose you wish to monitor all traffic originating from Organization A and destined to Organization B. An user proficient in MSL prime my write the template: Now any user can simply define the event: event: A is between B and C ((B <= A) && (A<=C)) {Ip_src is between OrgAL and OrgAU} and {Ip_dest is between OrgBL and OrgBU} From_A_To_B // Monitor logic ctx->startCycle(); for (PropertyInstance * inst = ctx->firstInstance(); inst; inst = ctx->nextInstance()) { int lv = inst->loadValue(); bool ___var_0, ___var_1; { lv = inst->loadValue(); if ( (*inst)[0] ) { eventbegin: bool event_result = false; detect { true[*]; (((ipIBM<=ip_src) && (ip_src<= ipUIBM))&& ((ipLTech<=ip_dest) && (ip_des <= ipUTech)))} ${event_result = true}$ return event_result; }

TEMPLATE USAGE EXAMPLES This enables the user to define the monitor: Without the need of any prior knowledge in MSL Prime or any other temporal logic language. This monitor Will be able to detect when a machine with the characteristic ip address of organization A sends a packet to a machine that belongs to organization B. monitor: A_to_B; monitorbegin if all {From_A_To_B} then {action_A_to_B} monitorend

SECURITY EVENT EXAMPLE: DETECTING DDOS ATTACK event DDOS_attack: Logic ipVar; Logic timeVar; ( dummy == dummy ), ipVar = ip_dest, timeVar = actionTime ;( ip_dest == ipVar )[=3]; (( ip_dest == ipVar )&&( actionTime - timeVar <= timeThreshold )) endevent This means that ipd_prev was requested 3 times during tThershold cycles. Given the right values this event will be able to detect DDOS attacks.