OSSAMS ¡ Open ¡Source ¡ ¡ Security ¡Assessment ¡ ¡ Management ¡System ¡
System ¡Overview ¡ • Purpose ¡ – To ¡provide ¡a ¡framework ¡for ¡security ¡assessors ¡to ¡ correlate ¡and ¡analyze ¡risk ¡to ¡informa=on ¡systems ¡ – To ¡streamline ¡the ¡assessment ¡repor=ng ¡process ¡ – To ¡build ¡a ¡modular ¡process ¡to ¡allow ¡for ¡building ¡on ¡ past ¡assessments ¡ • System ¡Architecture ¡ – LAMP ¡– ¡Ubuntu/FreeBSD ¡MYSQL, ¡PHP ¡ – Backen ¡Scrip=ng ¡and ¡parsing ¡ • Perl, ¡Python, ¡Ruby, ¡etc ¡
Backend ¡Architecture ¡ • MYSQL ¡ – Open ¡Source ¡DB ¡ • PHP ¡ – Easy ¡to ¡code, ¡does ¡not ¡require ¡a ¡lot ¡of ¡code ¡ – The ¡No ¡frills ¡web ¡app ¡ – Low ¡code ¡(to ¡much ¡code, ¡not ¡a ¡good ¡thing) ¡ – Fast ¡and ¡not ¡preQy ¡ • Parsing ¡Data ¡ – Perl ¡and ¡Python ¡Parsing ¡ – Scripts ¡will ¡run ¡as ¡a ¡backend ¡process, ¡called ¡by ¡PHP ¡or ¡ stored ¡a ¡CRON ¡jobs. ¡
Subsystem ¡ • Parser ¡Engine ¡ – Command ¡Line ¡style ¡scripts ¡to ¡simply ¡parse ¡the ¡XML, ¡ test, ¡or ¡other ¡scan ¡output ¡into ¡a ¡structured ¡database. ¡ – Does ¡not ¡perform ¡analysis ¡ • Correla=on ¡Engine ¡ – Perl ¡or ¡SQL ¡process ¡for ¡submiVng ¡queries ¡and ¡storing ¡ results ¡in ¡a ¡table ¡for ¡structured ¡reports. ¡ • Web ¡Front ¡End ¡ – Ques=onnaire ¡for ¡Customers ¡ – Assessment ¡Management ¡for ¡InfoSec ¡Team ¡
Subsystem ¡(Cont) ¡ • Config ¡Parser ¡ – Parse ¡Text ¡file ¡configs ¡and ¡create ¡rela=onal ¡ network ¡diagram ¡ • Recommenda=on ¡System ¡ – System ¡to ¡offer ¡recommedna=ons ¡based ¡on ¡ findings ¡from ¡other ¡subsystems ¡ – Modular ¡and ¡managed ¡by ¡InfoSec ¡ • The ¡OSSAMS ¡will ¡give ¡a ¡brief ¡example ¡of ¡ recommenda=on ¡ • We ¡don’t ¡want ¡to ¡give ¡the ¡secret ¡sauce ¡away ¡
Parsing ¡SCAN ¡Output ¡ • Many ¡tools ¡such ¡as ¡Nessus, ¡NMAP, ¡etc ¡provide ¡an ¡XML ¡ output ¡file. ¡ • The ¡system ¡will ¡not ¡perform ¡scans, ¡but ¡can ¡schedule ¡ scans ¡on ¡another ¡system ¡ • The ¡output ¡will ¡then ¡be ¡parsed ¡and ¡put ¡into ¡MySQL ¡ database ¡ • The ¡Customer ¡ID, ¡Project ¡ID, ¡and ¡IP ¡Address ¡ID ¡(cst_id, ¡ prj_id ¡and ¡ipadd_id) ¡will ¡be ¡together ¡be ¡Primary ¡key ¡ for ¡SCAN ¡result ¡table. ¡ • Learn ¡from ¡other ¡projects ¡(but ¡not ¡take) ¡ – DRADIS ¡Server ¡-‑ ¡hQp://dradisframework.org ¡ – Seccubus ¡-‑ ¡hQp://www.seccubus.com ¡
Correla=on ¡Engine ¡ • As ¡Scan ¡data ¡is ¡entered ¡into ¡DB, ¡based ¡on ¡the ¡ cst_id, ¡prj_id ¡and ¡ipadd_id ¡will ¡be ¡mapped ¡ together ¡to ¡show ¡true ¡results ¡of ¡scan ¡of ¡a ¡single ¡ system. ¡ – Might ¡include ¡hostname ¡also ¡ • Output ¡from ¡Config ¡parser ¡will ¡also ¡be ¡checked ¡ – i.e. ¡firewall ¡rules ¡etc ¡ – Network ¡Diagram ¡Tool ¡(network ¡notepad, ¡but ¡need ¡to ¡ make ¡a ¡linux ¡version) ¡
Config ¡Parser ¡ • Tool ¡to ¡replace ¡NIPPER ¡and ¡RAT ¡ – Use ¡RAT ¡code ¡to ¡learn ¡how ¡they ¡parse ¡ – Then ¡do ¡it ¡beQer ¡ – Simliar ¡to ¡my ¡ACL2CSV ¡tool ¡ • Create ¡Network ¡Map ¡ – Using ¡IP ¡to ¡Interface, ¡CDP ¡and ¡etc ¡ • Map ¡ACL’s ¡to ¡IP ¡Address ¡ • Config ¡Plugin ¡Parsing ¡ – Create ¡RegEx ¡parsing ¡plug-‑in ¡framework ¡so ¡the ¡ parsing ¡can ¡be ¡easily ¡expanded ¡
Web ¡Front ¡End ¡Architecture ¡ • PHP ¡ – We ¡might ¡do ¡something ¡else, ¡but ¡here ¡are ¡the ¡concerns ¡I ¡ have ¡the ¡most ¡ – To ¡Much ¡code, ¡means ¡more ¡errors ¡ – No ¡frills, ¡we ¡want ¡fast ¡and ¡browser ¡independent, ¡when ¡ you ¡use ¡flash, ¡ac=vex ¡and ¡etc ¡you ¡can ¡cause ¡more ¡issues ¡ • SECURITY ¡is ¡PARAMOUNT ¡ – We ¡can’t ¡have ¡config ¡issues ¡or ¡anything ¡like ¡that ¡ – We ¡have ¡to ¡have ¡a ¡secure ¡system ¡ – ASA ¡Web ¡Portal ¡for ¡Customer ¡Access ¡ – Not ¡Accessible ¡by ¡Internet ¡
Web ¡Frontend ¡Design ¡ • Two ¡primary ¡systems ¡ – InfoSec ¡Management ¡ – Customer ¡Ques=onnaire ¡ • InfoSec ¡Management ¡ – Enter ¡Scan ¡Data ¡ – Manage ¡Customer ¡Data ¡ – Generate ¡Text ¡File ¡Report ¡ – CSV ¡based ¡reports ¡for ¡Graphs ¡and ¡etc ¡
Web ¡Frontend ¡Design ¡(Cont) ¡ • Customer ¡Ques=onnaire ¡ – Customer ¡Ques=onnaire ¡forms ¡ – Canbe ¡filled ¡out ¡by ¡InfoSec ¡or ¡Cust ¡ • Example: ¡ – Policy ¡Ques=onnaire ¡ – PCI ¡Self ¡Assessment ¡ – Security ¡Technology ¡ • Responses ¡will ¡map ¡to ¡recommenda=ons ¡
Recommenda=on ¡System ¡ • A ¡modular ¡framework ¡ – Create ¡thresholds ¡to ¡be ¡found ¡in ¡parsed ¡data ¡ – Easily ¡created ¡and ¡easily ¡to ¡have ¡many ¡ recommenda=ons ¡ • Threshold ¡to ¡Recommenda=on ¡Output ¡ – Snip-‑it ¡of ¡the ¡report ¡data ¡ – Recommenda=on ¡Summary ¡ – Recommenda=on ¡Full ¡report ¡ • Use ¡Tags ¡similar ¡to ¡word ¡press ¡blogs ¡
Recommend
More recommend