Top Banner
Proxy Protocols SOCKS 4, 4a, and 5 Advanced Software Engineering (CSE870) Instructor: Dr. B. Cheng Contact info: chengb at cse dot msu dot edu Kayra Hopkins Loretta Macklem
24

Proxy Protocols macklem-hopkins - Michigan State University

Mar 16, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Proxy Protocols macklem-hopkins - Michigan State University

Proxy ProtocolsSOCKS 4, 4a, and 5Advanced Software Engineering (CSE870)Instructor: Dr. B. ChengContact info: chengb at cse dot msu dot edu

Kayra HopkinsLoretta Macklem

Page 2: Proxy Protocols macklem-hopkins - Michigan State University

Outline

? Introduction?Frameworks?Demo?Extra Credit Implementation?Demo

Page 3: Proxy Protocols macklem-hopkins - Michigan State University

Introduction

?SOCKS - an Internet protocol that allows client-server applications to transparently use the services of a network.

Page 4: Proxy Protocols macklem-hopkins - Michigan State University

SOCKS Protocols

? SOCKS 4– No authentication– Simple connect and bind connections supported

? SOCKS 4a– Domain resolution

? SOCKS 5– Authentication plus UDP connection supported

Page 5: Proxy Protocols macklem-hopkins - Michigan State University

Frameworks

?Framework - a reusable design for a software system expressed as

– Set of abstract classes

– The way their instances collaborate for a specific type of software

Page 6: Proxy Protocols macklem-hopkins - Michigan State University

Use of Frameworks for SOCKS

?SOCKS versions have a large amount of common functionality

?First step was to identify all major common functionality.

Page 7: Proxy Protocols macklem-hopkins - Michigan State University

Whitebox? Commonalities

– Identify if client or server can access IP requested– Creating a connection to a server – Receiving messages– Forwarding messages – Sending reply messages– Authentication

? Differences (points of extension)– Parsing the request message – Forming the reply message – Creating new types of authentication

Page 8: Proxy Protocols macklem-hopkins - Michigan State University

Whitebox, cont.

?Design Pattern

– Iterator Pattern

• Username/Password Login

• Domain Resolution

• Authentication

Page 9: Proxy Protocols macklem-hopkins - Michigan State University

Whitebox Class Diagram

Page 10: Proxy Protocols macklem-hopkins - Michigan State University

Magenta is Design Pattern, Green is where user implements functionality, Blue is abstract class

Page 11: Proxy Protocols macklem-hopkins - Michigan State University
Page 12: Proxy Protocols macklem-hopkins - Michigan State University

Greybox

?Changes– Authentication is now an interface– At the time only one protocol used

authentication so we thought it would be the easiest to change for greybox

Page 13: Proxy Protocols macklem-hopkins - Michigan State University

Red is interfaces, Magenta is Design Pattern, Green is where user implements functionality, Blue is abstract class

Page 14: Proxy Protocols macklem-hopkins - Michigan State University

Blackbox

?All extension are done through interfaces

Page 15: Proxy Protocols macklem-hopkins - Michigan State University

Red is interfaces, Magenta is Design Pattern, Green is where user implements functionality

Page 16: Proxy Protocols macklem-hopkins - Michigan State University

State Diagram

Connected Connection Denied

Page 17: Proxy Protocols macklem-hopkins - Michigan State University

Demo

Page 18: Proxy Protocols macklem-hopkins - Michigan State University

Problems We Encountered

? Figuring out how to get the information from the request messages without having the control loop be changed much

? Solution - have implementation of parsing the request message have a function which returns an array with all of the needed values to be passed to reply message implementation

Page 19: Proxy Protocols macklem-hopkins - Michigan State University

What We Learned

?No comment on whether making a whitebox is easier than making a blackbox

?Able to identify where we have used frameworks previously without knowing it

Page 20: Proxy Protocols macklem-hopkins - Michigan State University

Applying Our Framework to MISys

?Decided to place all patient records on a separate server, apart from the application

?MISys uses proxy to connect to other server and obtain patient information

Page 21: Proxy Protocols macklem-hopkins - Michigan State University

Class Diagram

MISys

SOCKS Framework

Page 22: Proxy Protocols macklem-hopkins - Michigan State University

Framework accesses Patient or Appointment Records

Makes call to obtain Patient or Appt Records

Connects to Iterator Class

Connects to MISysMainUI class

Page 23: Proxy Protocols macklem-hopkins - Michigan State University

MISys Demo

Page 24: Proxy Protocols macklem-hopkins - Michigan State University

Questions?