1 SnIPS Implementation and GUI Tsung-Hsi Wu, M.S.E. Department of Computing and Information Science Kansas State University
2 Outline Project Overview Prototype Project Requirements Cost Estimation Software Quality Assurance Plan Phase 2 Deliverables Q&A
3 Outline Project Overview Prototype Project Requirements Cost Estimation Software Quality Assurance Plan Phase 2 Deliverables Q&A
4 Project Overview SnIPS Background - Snort Intrusion Analysis using Proof Strengthening. - Dr. Simon Ou, Siva Raj Rajagopalan (HP Labs), and Sakthiyuvaraja Sakthivelmurugan - An Empirical Approach to Modeling Uncertainty in Intrusion Analysis, 25th Annual Computer Security Applications Conference (ACSAC). - Reason Under Uncertainty.
5 Project Overview Reasoning Engine Which machines are “certainty” compromised ? Answers with evidence Observation Correspondence Internal Model Pre – Processing –> Datalog tuples SnortNetflow filterLog analyzer Reason Under Uncertainty - open source network intrusion detection system - compare the payload of network packets with Snort Rules - alert tcp $HTTP_SERVERS $HTTP_PORTS -> $EXTERNAL_NET any (msg:"ATTACK-RESPONSES 403 Forbidden"; flow:from_server,established; content:"HTTP/ "; depth:12; classtype:attempted-recon; sid:1201; rev:7;)
6 Project Overview Reasoning Engine Which machines are “certainty” compromised ? Answers with evidence Observation Correspondence Internal Model Pre – Processing –> Datalog tuples SnortNetflow filterLog analyzer Linux Command: sudo snort -c test.conf -i eth4 Linux Command: python alert translator.py -h Linux Command: summarize.sh Linux Command: trace.sh Linux Command: ?- show_trace(int(compromised(H),c)) GUI int(probeOtherMachine(' ',external),c,range( ,0)) strengthenedPf int(probeOtherMachine(' ',external),l,range( ,0)) summarizedFact skolem(0) int(skol(probeOtherMachine(' ',external)),p,range( , )) intRule_1f int(compromised(' '),l,range( , )) summarizedFact skolem(10) obs(oid_1, snort('1:469', ' ', ' ', )). obs(oid_2, snort('1:469', ' ', ' ', )). int(probeOtherMachine(' ',external),l,skolem(0),range( , )). int(suspicious(external,' '),p,skolem(9),range( , )). int(compromised(' '),l,skolem(10),range( , )). GUI
7 Project Overview Motivation - Need friendly user interface - What triggers the “Snort Alerts ” Goal - GUI - Implementation -> Backtrack the alerts -> Payload triggers Snort Rules
8 Outline Project Overview Prototype Project Requirements Cost Estimation Software Quality Assurance Plan Phase 2 Deliverables Q&A
9 Prototype Demo GUI Framework SnIPS Visualized Output
10 Outline Project Overview Prototype Project Requirements Cost Estimation Software Quality Assurance Plan Phase 2 Deliverables Q&A
11 Project Requirements SnIPS GUI Framework Use Case – SnIPS GUI Component
12 Project Requirements SnIPS GUI Framework - SR 1.1: SnIPS GUI must be extendible -> Object Oriented Design
13 Project Requirements Use Case – SnIPS GUI Component
14 Project Requirements Use Case – SnIPS GUI Component - SR 2(critical): Start and Stop Snort - SR 3(critical): Fetch alerts from MySQL - SR 4(critical): Fetch alerts based on time frame - SR 5(critical): Manage Snort Rules - SR 6(critical): Specify Configuration & Host Info - SR 7(critical): Run Pre-Processing & Reasoning - SR 8(critical): Webpage for Reasoning Engine Output - SR 9(non-critical): Represent Output in Graphical View
15 Outline Project Overview Prototype Project Requirements Cost Estimation Software Quality Assurance Plan Phase 2 Deliverables Q&A
16 Cost Estimation Work Breakdown Structure (WBS) - Tree Structure Diagram Software Artifact Sets (from Walker Royce): - Requirement Set - Design Set - Implementation Set - Deployment Set - Management Set
17 Cost Estimation Work Breakdown Structure (WBS) Management SetRequirement SetDesign Set Implementatio n Set Deployment Set Artifact 1. SQAP 2. Project Plan Project Plan Project Evaluation. 5. Test Plan Testing Evaluation 7. Assessment Evaluation. 8. Formal Requirement Specification 9. Formal Technical Inspection 10. Reference 11. Formal Technical Inspection letters 1. Vision Document Vision Document Architectural Design. 2. Component Design. 1. Prototype Prototype Final Project 1. User Manual.
18 Cost Estimation Work Breakdown Structure (WBS) SnIPS Phase 1Phase 2Phase 3 Management. Set Requirement. Set Implementation. Set Management. Set Requirement. Set Design Set Implementation. Set Management Set Design Set Implementation. Set Deployment. Set
19 Cost Estimation – Phase 1 WBS Phase 1 Management SetRequirement SetImplementation Set 1. Project Plan SQAP 3. Vision Doc Prototype 1.0 TaskEstimated Duration of TaskTask Dependencies Project Plan hr (10 pages * 3hrs/page ≒ 30) Vision Document 1.0 SQAP 20 hr (7 pages * 3hrs/page ≒ 30) Vision Document 1.0, Project Plan 1.0 Vision Document hr (10 pages * 3hrs/page ≒ 30) Prototype hr (1200 LOC * 30LOC/HR)
20 Cost Estimation – Phase 2 WBS Phase 2 Management SetRequirement SetImplementation Set 1. Project Plan Formal Requirement Specification 3. Formal Technical Inspection 4. Test Plan Vision Doc Prototype 2.0 Design Set 6. Architectural Design 1.0 TaskEstimated Duration of TaskTask Dependencies Project Plan hr (10 pages * 1.5 hrs/page ≒ 30) Vision Document 2.0 Formal Requirement Specification 15 hr (5 pages * 3 hrs/page ≒ 30) Vision Document 2.0 Formal Technical Inspection 2 hr Formal Requirement Specification Test Plan hr (5 pages * 3 hrs/page ≒ 30) Architectural Design 1.0 Vision Document hr (10 pages * 1.5 hrs/page ≒ 30) Architectural Design hr (15 pages * 3 hrs/page ≒ 45) Project Plan 2.0 Prototype hr ( 40 * 2 ≒ 80)
21 Cost Estimation – Phase 3 WBS Phase 3 Management SetDesign SetDeployment Set 1. Project Evaluation 2. Testing Evaluation 3. Assessment Evaluation 4. Reference 5. Formal Technical Inspection Letters 6. Component Design8. User Manual Implementation Set 7. Final Project TaskEstimated Duration of TaskTask Dependencies Project Evaluation 15 hr (5 pages * 3 hrs/page ≒ 15) Testing Evaluation 15 hr (5 pages * 3 hrs/page ≒ 15) Final Project Assessment Evaluation 15 hr (5 pages * 3 hrs/page ≒ 15) Testing Evaluation Reference 3 hr (1 pages * 3 hrs/page ≒ 3) Project and Assessment Evaluation Formal Tech. Inspection. Letters2 hrTesting Evaluation Component Design 45 hr (15 pages * 3 hrs/page ≒ 45) Final Project 120 hr ( 40 * 3 ≒ 120) User Manual 15 hr (5 pages * 3 hrs/page ≒ 15) Testing Evaluation
22 Cost Estimation – Project Timeline
23 Outline Project Overview Prototype Project Requirements Cost Estimation Software Quality Assurance Plan Phase 2 Deliverables Q&A
24 Software Quality Assurance Plan Documentation: Standards, Practices, Convention, and Metrics Reviews and Audits Testing Problem Reporting and Corrective Action Tool, Techniques, and Methodologies Records collection, Maintenance, and Retention
25 Phase 2 Deliverables Vision Document 2.0 Project Plan 2.0 Architectural Design 1.0 Prototype 2.0 Test Plan 1.0 Formal Requirements Specification Formal Technical Inspection
26 Questions & Answers SnIPS Implementation and GUI