本文整理汇总了Python中cairis.core.EnvironmentParameters.EnvironmentParameters类的典型用法代码示例。如果您正苦于以下问题:Python EnvironmentParameters类的具体用法?Python EnvironmentParameters怎么用?Python EnvironmentParameters使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了EnvironmentParameters类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setUp
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/vulnerabilities.json')
d = json.load(f)
f.close()
b = Borg()
self.iVtypes = d['valuetypes']
self.ivt1 = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theValueType"])
self.ivt2 = ValueTypeParameters(self.iVtypes[1]["theName"], self.iVtypes[1]["theDescription"], self.iVtypes[1]["theValueType"])
b.dbProxy.addValueType(self.ivt1)
b.dbProxy.addValueType(self.ivt2)
self.oVtypes = b.dbProxy.getValueTypes('vulnerability_type')
ienvs = d['environments']
self.iep1 = EnvironmentParameters(ienvs[0]["theName"],ienvs[0]["theShortCode"],ienvs[0]["theDescription"])
self.iep2 = EnvironmentParameters(ienvs[1]["theName"],ienvs[1]["theShortCode"],ienvs[1]["theDescription"])
self.iep3 = EnvironmentParameters(ienvs[2]["theName"],ienvs[2]["theShortCode"],ienvs[2]["theDescription"])
b.dbProxy.addEnvironment(self.iep1)
b.dbProxy.addEnvironment(self.iep2)
b.dbProxy.addEnvironment(self.iep3)
self.oenvs = b.dbProxy.getEnvironments()
self.iassets = d['assets']
self.iaeps = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps)
b.dbProxy.addAsset(self.iap)
self.oaps = b.dbProxy.getAssets()
self.iVuln = d['vulnerabilities']
示例2: testCompositeEnvironment
def testCompositeEnvironment(self):
iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
iep2 = EnvironmentParameters(self.ienvs[1]["theName"],self.ienvs[1]["theShortCode"],self.ienvs[1]["theDescription"])
iep3 = EnvironmentParameters(self.ienvs[2]["theName"],self.ienvs[2]["theShortCode"],self.ienvs[2]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(iep1)
b.dbProxy.addEnvironment(iep2)
b.dbProxy.addEnvironment(iep3)
iep4 = EnvironmentParameters(self.ienvs[3]["Composite_name"],'COMP','Composite test',[iep1.name(),iep2.name(),iep3.name()],self.ienvs[4]["Duplication"])
b.dbProxy.addEnvironment(iep4)
oenvs = b.dbProxy.getEnvironments()
oep4 = oenvs[self.ienvs[3]["Composite_name"]]
self.assertEqual(iep4.name(), oep4.name())
self.assertEqual(iep4.shortCode(),oep4.shortCode())
self.assertEqual(iep4.description(),oep4.description())
self.assertEqual(iep4.environments(),oep4.environments())
self.assertEqual(iep4.duplicateProperty(),oep4.duplicateProperty())
oep1 = oenvs[self.ienvs[0]["theName"]]
oep2 = oenvs[self.ienvs[1]["theName"]]
oep3 = oenvs[self.ienvs[2]["theName"]]
self.assertRaises(DatabaseProxyException,b.dbProxy.deleteEnvironment,oep1.id())
b.dbProxy.deleteEnvironment(oep4.id())
b.dbProxy.deleteEnvironment(oep1.id())
b.dbProxy.deleteEnvironment(oep2.id())
b.dbProxy.deleteEnvironment(oep3.id())
示例3: endElement
def endElement(self,name):
if name == 'entry':
self.theNamingConventions.append((self.theCurrentNameEntry,self.theDefinition))
elif name == 'revision':
self.theRevisions.append((self.theCurrentRevNo,self.theCurrentRevDate,self.theRemarks))
elif name == 'project_settings':
self.theProjectSettings = (self.theName,self.theBackground,self.theStrategicGoals,self.theScope,self.theNamingConventions,self.theContributors,self.theRevisions,self.theRichPicture)
elif name == 'asset_values':
nv = ValueTypeParameters('None',self.theNoneValue,'asset_value',self.theName)
nv.setId(0)
self.theAssetValues.append(nv)
lv = ValueTypeParameters('Low',self.theLowValue,'asset_value',self.theName)
lv.setId(1)
self.theAssetValues.append(lv)
mv = ValueTypeParameters('Medium',self.theMedValue,'asset_value',self.theName)
mv.setId(2)
self.theAssetValues.append(mv)
hv = ValueTypeParameters('High',self.theHighValue,'asset_value',self.theName)
hv.setId(3)
self.theAssetValues.append(hv)
self.resetAssetValues()
elif name == 'environment':
p = EnvironmentParameters(self.theName,self.theShortCode,self.theDefinition,self.theCompositeEnvironments,self.theDuplicateProperty,self.theOverridingEnvironment)
p.setAssetValues(self.theAssetValues)
self.theEnvironments.append(p)
self.resetEnvironmentAttributes()
elif name == 'background':
self.inBackground = 0
elif name == 'strategic_goals':
self.inStrategicGoals = 0
elif name == 'scope':
self.inScope = 0
elif name == 'definition':
self.inDefinition = 0
elif name == 'remarks':
self.inRemarks = 0
elif name == 'none':
self.inNone = 0
elif name == 'low':
self.inLow = 0
elif name == 'medium':
self.inMed = 0
elif name == 'high':
self.inHigh = 0
示例4: setUp
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/assets.json')
d = json.load(f)
f.close()
ienvs = d['environments']
self.iep1 = EnvironmentParameters(ienvs[0]["theName"],ienvs[0]["theShortCode"],ienvs[0]["theDescription"])
self.iep2 = EnvironmentParameters(ienvs[1]["theName"],ienvs[1]["theShortCode"],ienvs[1]["theDescription"])
self.iep3 = EnvironmentParameters(ienvs[2]["theName"],ienvs[2]["theShortCode"],ienvs[2]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
b.dbProxy.addEnvironment(self.iep2)
b.dbProxy.addEnvironment(self.iep3)
self.oenvs = b.dbProxy.getEnvironments()
self.iassets = d['assets']
示例5: setUp
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/threats.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep)
self.oenvs = b.dbProxy.getEnvironments()
self.iRoles = d['roles']
self.irp = RoleParameters(self.iRoles[0]["theName"], self.iRoles[0]["theType"], self.iRoles[0]["theShortCode"], self.iRoles[0]["theDescription"],[])
b.dbProxy.addRole(self.irp)
self.oRoles = b.dbProxy.getRoles()
self.iPersonas = d['personas']
self.ipp = PersonaParameters(self.iPersonas[0]["theName"],self.iPersonas[0]["theActivities"],self.iPersonas[0]["theAttitudes"],self.iPersonas[0]["theAptitudes"],self.iPersonas[0]["theMotivations"],self.iPersonas[0]["theSkills"],self.iPersonas[0]["theIntrinsic"],self.iPersonas[0]["theContextual"],"","0",self.iPersonas[0]["thePersonaType"],[],[PersonaEnvironmentProperties(self.iPersonas[0]["theEnvironmentProperties"][0]["theName"],(self.iPersonas[0]["theEnvironmentProperties"][0]["theDirectFlag"] == "True"),self.iPersonas[0]["theEnvironmentProperties"][0]["theNarrative"],self.iPersonas[0]["theEnvironmentProperties"][0]["theRole"])],[])
b.dbProxy.addPersona(self.ipp)
self.opp = b.dbProxy.getPersonas()
self.iExternalDocuments = d['external_documents']
self.iec1 = ExternalDocumentParameters(self.iExternalDocuments[0]["theName"],self.iExternalDocuments[0]["theVersion"],self.iExternalDocuments[0]["thePublicationDate"],self.iExternalDocuments[0]["theAuthors"],self.iExternalDocuments[0]["theDescription"])
self.iec2 = ExternalDocumentParameters(self.iExternalDocuments[1]["theName"],self.iExternalDocuments[1]["theVersion"],self.iExternalDocuments[1]["thePublicationDate"],self.iExternalDocuments[1]["theAuthors"],self.iExternalDocuments[1]["theDescription"])
b.dbProxy.addExternalDocument(self.iec1)
b.dbProxy.addExternalDocument(self.iec2)
self.oecs = b.dbProxy.getExternalDocuments()
self.iDocumentReferences = d['document_references']
self.idr1 = DocumentReferenceParameters(self.iDocumentReferences[0]["theName"],self.iDocumentReferences[0]["theDocName"],self.iDocumentReferences[0]["theContributor"],self.iDocumentReferences[0]["theExcerpt"])
self.idr2 = DocumentReferenceParameters(self.iDocumentReferences[1]["theName"],self.iDocumentReferences[1]["theDocName"],self.iDocumentReferences[1]["theContributor"],self.iDocumentReferences[1]["theExcerpt"])
b.dbProxy.addDocumentReference(self.idr1)
b.dbProxy.addDocumentReference(self.idr2)
self.odrs = b.dbProxy.getDocumentReferences()
self.iPersonaCharacteristics = d['persona_characteristics']
self.ipc1 = PersonaCharacteristicParameters(self.iPersonaCharacteristics[0]["thePersonaName"],self.iPersonaCharacteristics[0]["theModQual"],self.iPersonaCharacteristics[0]["theVariable"],self.iPersonaCharacteristics[0]["theCharacteristic"],[(self.iPersonaCharacteristics[0]["ground"],'','document')],[(self.iPersonaCharacteristics[0]["warrant"],'','document')],[],[])
b.dbProxy.addPersonaCharacteristic(self.ipc1)
self.opcs = b.dbProxy.getPersonaCharacteristics()
self.iAttackers = d['attackers']
self.iatkeps = [AttackerEnvironmentProperties(self.iAttackers[0]["theEnvironmentProperties"][0]["theName"],self.iAttackers[0]["theEnvironmentProperties"][0]["theRoles"],self.iAttackers[0]["theEnvironmentProperties"][0]["theMotives"],self.iAttackers[0]["theEnvironmentProperties"][0]["theCapabilities"])]
self.iatk = AttackerParameters(self.iAttackers[0]["theName"], self.iAttackers[0]["theDescription"], self.iAttackers[0]["theImage"],[],self.iatkeps)
b.dbProxy.addAttacker(self.iatk)
self.oAttackers = b.dbProxy.getAttackers()
self.iVtypes = d['valuetypes']
self.ivt = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theType"])
b.dbProxy.addValueType(self.ivt)
self.ovt = b.dbProxy.getValueTypes('threat_type')
self.iassets = d['assets']
self.iaeps = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps)
b.dbProxy.addAsset(self.iap)
self.oap = b.dbProxy.getAssets()
self.iThreats = d['threats']
示例6: ObstacleTest
class ObstacleTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/obstacles.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iObstacle = d['obstacles']
def testObstacle(self):
b = Borg()
igep1 = ObstacleEnvironmentProperties(self.iObstacle[0]["theEnvironmentProperties"][0],self.iObstacle[0]["theEnvironmentProperties"][1],self.iObstacle[0]["theEnvironmentProperties"][2],self.iObstacle[0]["theEnvironmentProperties"][3])
igp1 = ObstacleParameters(self.iObstacle[0]["theName"],self.iObstacle[0]["theOriginator"],[],[igep1])
b.dbProxy.addObstacle(igp1)
b.dbProxy.relabelObstacles(igep1.name())
oObstacle = b.dbProxy.getObstacles()
og1 = oObstacle[self.iObstacle[0]["theName"]]
self.assertEqual(igp1.name(), og1.name())
self.assertEqual(igp1.originator(), og1.originator())
ogep1 = og1.environmentProperty(igep1.name())
self.assertEqual(igep1.definition(), ogep1.definition())
self.assertEqual(igep1.category(), ogep1.category())
b.dbProxy.deleteObstacle(og1.id())
def tearDown(self):
b = Borg()
b.dbProxy.deleteEnvironment(self.oenvs[self.iep1.name()].id())
b.dbProxy.close()
call([os.environ['CAIRIS_SRC'] + "/test/dropdb.sh"])
示例7: setUp
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/goals.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iassets = d['assets']
self.iaeps1 = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap1 = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps1)
b.dbProxy.addAsset(self.iap1)
self.oap = b.dbProxy.getAssets()
self.iGoals = d['goals']
示例8: GoalTest
class GoalTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/goals.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iassets = d['assets']
self.iaeps1 = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap1 = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps1)
b.dbProxy.addAsset(self.iap1)
self.oap = b.dbProxy.getAssets()
self.iGoals = d['goals']
def testGoal(self):
b = Borg()
igep1 = GoalEnvironmentProperties(self.iGoals[0]["theEnvironmentProperties"][0],self.iGoals[0]["theEnvironmentProperties"][1],self.iGoals[0]["theEnvironmentProperties"][2],self.iGoals[0]["theEnvironmentProperties"][3],self.iGoals[0]["theEnvironmentProperties"][4],self.iGoals[0]["theEnvironmentProperties"][5],self.iGoals[0]["theEnvironmentProperties"][6],[],[],[self.iGoals[0]["theEnvironmentProperties"][7]],[])
igp1 = GoalParameters(self.iGoals[0]["theName"],self.iGoals[0]["theOriginator"],[],[igep1])
b.dbProxy.addGoal(igp1)
oGoals = b.dbProxy.getGoals()
og = oGoals[self.iGoals[0]["theName"]]
self.assertEqual(igp1.name(), og.name())
self.assertEqual(igp1.originator(), og.originator())
b.dbProxy.deleteGoal(og.id())
def tearDown(self):
b = Borg()
b.dbProxy.deleteAsset(self.oap[self.iap1.name()].id())
b.dbProxy.deleteEnvironment(self.oenvs[self.iep1.name()].id())
b.dbProxy.close()
call([os.environ['CAIRIS_SRC'] + "/test/dropdb.sh"])
示例9: ThreatTest
class ThreatTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/threats.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep)
self.oenvs = b.dbProxy.getEnvironments()
self.iRoles = d['roles']
self.irp = RoleParameters(self.iRoles[0]["theName"], self.iRoles[0]["theType"], self.iRoles[0]["theShortCode"], self.iRoles[0]["theDescription"],[])
b.dbProxy.addRole(self.irp)
self.oRoles = b.dbProxy.getRoles()
self.iPersonas = d['personas']
self.ipp = PersonaParameters(self.iPersonas[0]["theName"],self.iPersonas[0]["theActivities"],self.iPersonas[0]["theAttitudes"],self.iPersonas[0]["theAptitudes"],self.iPersonas[0]["theMotivations"],self.iPersonas[0]["theSkills"],self.iPersonas[0]["theIntrinsic"],self.iPersonas[0]["theContextual"],"","0",self.iPersonas[0]["thePersonaType"],[],[PersonaEnvironmentProperties(self.iPersonas[0]["theEnvironmentProperties"][0]["theName"],(self.iPersonas[0]["theEnvironmentProperties"][0]["theDirectFlag"] == "True"),self.iPersonas[0]["theEnvironmentProperties"][0]["theNarrative"],self.iPersonas[0]["theEnvironmentProperties"][0]["theRole"])],[])
b.dbProxy.addPersona(self.ipp)
self.opp = b.dbProxy.getPersonas()
self.iExternalDocuments = d['external_documents']
self.iec1 = ExternalDocumentParameters(self.iExternalDocuments[0]["theName"],self.iExternalDocuments[0]["theVersion"],self.iExternalDocuments[0]["thePublicationDate"],self.iExternalDocuments[0]["theAuthors"],self.iExternalDocuments[0]["theDescription"])
self.iec2 = ExternalDocumentParameters(self.iExternalDocuments[1]["theName"],self.iExternalDocuments[1]["theVersion"],self.iExternalDocuments[1]["thePublicationDate"],self.iExternalDocuments[1]["theAuthors"],self.iExternalDocuments[1]["theDescription"])
b.dbProxy.addExternalDocument(self.iec1)
b.dbProxy.addExternalDocument(self.iec2)
self.oecs = b.dbProxy.getExternalDocuments()
self.iDocumentReferences = d['document_references']
self.idr1 = DocumentReferenceParameters(self.iDocumentReferences[0]["theName"],self.iDocumentReferences[0]["theDocName"],self.iDocumentReferences[0]["theContributor"],self.iDocumentReferences[0]["theExcerpt"])
self.idr2 = DocumentReferenceParameters(self.iDocumentReferences[1]["theName"],self.iDocumentReferences[1]["theDocName"],self.iDocumentReferences[1]["theContributor"],self.iDocumentReferences[1]["theExcerpt"])
b.dbProxy.addDocumentReference(self.idr1)
b.dbProxy.addDocumentReference(self.idr2)
self.odrs = b.dbProxy.getDocumentReferences()
self.iPersonaCharacteristics = d['persona_characteristics']
self.ipc1 = PersonaCharacteristicParameters(self.iPersonaCharacteristics[0]["thePersonaName"],self.iPersonaCharacteristics[0]["theModQual"],self.iPersonaCharacteristics[0]["theVariable"],self.iPersonaCharacteristics[0]["theCharacteristic"],[(self.iPersonaCharacteristics[0]["ground"],'','document')],[(self.iPersonaCharacteristics[0]["warrant"],'','document')],[],[])
b.dbProxy.addPersonaCharacteristic(self.ipc1)
self.opcs = b.dbProxy.getPersonaCharacteristics()
self.iAttackers = d['attackers']
self.iatkeps = [AttackerEnvironmentProperties(self.iAttackers[0]["theEnvironmentProperties"][0]["theName"],self.iAttackers[0]["theEnvironmentProperties"][0]["theRoles"],self.iAttackers[0]["theEnvironmentProperties"][0]["theMotives"],self.iAttackers[0]["theEnvironmentProperties"][0]["theCapabilities"])]
self.iatk = AttackerParameters(self.iAttackers[0]["theName"], self.iAttackers[0]["theDescription"], self.iAttackers[0]["theImage"],[],self.iatkeps)
b.dbProxy.addAttacker(self.iatk)
self.oAttackers = b.dbProxy.getAttackers()
self.iVtypes = d['valuetypes']
self.ivt = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theType"])
b.dbProxy.addValueType(self.ivt)
self.ovt = b.dbProxy.getValueTypes('threat_type')
self.iassets = d['assets']
self.iaeps = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps)
b.dbProxy.addAsset(self.iap)
self.oap = b.dbProxy.getAssets()
self.iThreats = d['threats']
def testThreat(self):
iteps = [ThreatEnvironmentProperties(self.iThreats[0]["theEnvironmentProperties"][0]["theName"],self.iThreats[0]["theEnvironmentProperties"][0]["theLikelihood"],self.iThreats[0]["theEnvironmentProperties"][0]["theAssets"],self.iThreats[0]["theEnvironmentProperties"][0]["theAttackers"],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1])]
itps = ThreatParameters(self.iThreats[0]["theName"],self.iThreats[0]["theType"],self.iThreats[0]["theMethod"],[],iteps)
b = Borg()
b.dbProxy.addThreat(itps)
oThreats = b.dbProxy.getThreats()
o = oThreats[self.iThreats[0]["theName"]]
self.assertEqual(itps.name(), o.name())
self.assertEqual(itps.type(),o.type())
self.assertEqual(itps.method(),o.method())
oteps = o.environmentProperties()
self.assertEqual(iteps[0].name(), oteps[0].name())
self.assertEqual(iteps[0].likelihood()[0], oteps[0].likelihood()[0])
self.assertEqual(str(iteps[0].assets()[0]), str(oteps[0].assets()[0]))
self.assertEqual(str(iteps[0].attackers()[0]), str(oteps[0].attackers()[0]))
self.assertEqual(str(iteps[0].rationale()[0]), str(oteps[0].rationale()[0]))
b.dbProxy.deleteThreat(o.id())
def tearDown(self):
b = Borg()
# b.dbProxy.deletePersonaCharacteristic(self.opcs[self.ipc1.name()].id())
b.dbProxy.deleteAsset(self.oap[self.iap.name()].id())
b.dbProxy.deleteThreatType(0)
b.dbProxy.deleteAttacker(self.oAttackers[self.iatk.name()].id())
b.dbProxy.deleteDocumentReference(self.odrs[self.idr1.name()].id())
b.dbProxy.deleteDocumentReference(self.odrs[self.idr2.name()].id())
b.dbProxy.deleteExternalDocument(self.oecs[self.iec1.name()].id())
b.dbProxy.deleteExternalDocument(self.oecs[self.iec2.name()].id())
b.dbProxy.deletePersona(self.opp[self.ipp.name()].id())
b.dbProxy.deleteRole(self.oRoles[self.irp.name()].id())
b.dbProxy.deleteEnvironment(self.oenvs[self.iep.name()].id())
b.dbProxy.close()
call([os.environ['CAIRIS_SRC'] + "/test/dropdb.sh"])
示例10: VulnerabilityTest
class VulnerabilityTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/vulnerabilities.json')
d = json.load(f)
f.close()
b = Borg()
self.iVtypes = d['valuetypes']
self.ivt1 = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theValueType"])
self.ivt2 = ValueTypeParameters(self.iVtypes[1]["theName"], self.iVtypes[1]["theDescription"], self.iVtypes[1]["theValueType"])
b.dbProxy.addValueType(self.ivt1)
b.dbProxy.addValueType(self.ivt2)
self.oVtypes = b.dbProxy.getValueTypes('vulnerability_type')
ienvs = d['environments']
self.iep1 = EnvironmentParameters(ienvs[0]["theName"],ienvs[0]["theShortCode"],ienvs[0]["theDescription"])
self.iep2 = EnvironmentParameters(ienvs[1]["theName"],ienvs[1]["theShortCode"],ienvs[1]["theDescription"])
self.iep3 = EnvironmentParameters(ienvs[2]["theName"],ienvs[2]["theShortCode"],ienvs[2]["theDescription"])
b.dbProxy.addEnvironment(self.iep1)
b.dbProxy.addEnvironment(self.iep2)
b.dbProxy.addEnvironment(self.iep3)
self.oenvs = b.dbProxy.getEnvironments()
self.iassets = d['assets']
self.iaeps = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps)
b.dbProxy.addAsset(self.iap)
self.oaps = b.dbProxy.getAssets()
self.iVuln = d['vulnerabilities']
def testStandardVulnerability(self):
iveps1 = [VulnerabilityEnvironmentProperties(self.iVuln[0]["theEnvironmentProperties"][0]["theName"],self.iVuln[0]["theEnvironmentProperties"][0]["theSeverity"],self.iVuln[0]["theEnvironmentProperties"][0]["theAssets"])]
iveps2 = [VulnerabilityEnvironmentProperties(self.iVuln[1]["theEnvironmentProperties"][0]["theName"],self.iVuln[1]["theEnvironmentProperties"][0]["theSeverity"],self.iVuln[1]["theEnvironmentProperties"][0]["theAssets"])]
iveps3 = [VulnerabilityEnvironmentProperties(self.iVuln[2]["theEnvironmentProperties"][0]["theName"],self.iVuln[2]["theEnvironmentProperties"][0]["theSeverity"],self.iVuln[2]["theEnvironmentProperties"][0]["theAssets"])]
ivp1 = VulnerabilityParameters(self.iVuln[0]["theName"],self.iVuln[0]["theDescription"],self.iVuln[0]["theType"], [], iveps1)
ivp2 = VulnerabilityParameters(self.iVuln[1]["theName"],self.iVuln[1]["theDescription"],self.iVuln[1]["theType"], [], iveps2)
ivp3 = VulnerabilityParameters(self.iVuln[2]["theName"],self.iVuln[2]["theDescription"],self.iVuln[2]["theType"], [], iveps3)
b = Borg()
b.dbProxy.addVulnerability(ivp1)
b.dbProxy.addVulnerability(ivp2)
b.dbProxy.addVulnerability(ivp3)
ovps = b.dbProxy.getVulnerabilities()
ovp1 = ovps[self.iVuln[0]["theName"]]
ovep1 = ovp1.environmentProperties()
self.assertEqual(ivp1.name(), ovp1.name())
self.assertEqual(ivp1.type(),ovp1.type())
self.assertEqual(ivp1.description(),ovp1.description())
self.assertEqual(self.iVuln[0]["theEnvironmentProperties"][0]["theSeverity"], ovep1[0].severity())
self.assertEqual(str(self.iVuln[0]["theEnvironmentProperties"][0]["theAssets"][0]), str(ovep1[0].assets()[0]))
ovp2 = ovps[self.iVuln[1]["theName"]]
ovep2 = ovp2.environmentProperties()
self.assertEqual(ivp2.name(), ovp2.name())
self.assertEqual(ivp2.type(),ovp2.type())
self.assertEqual(ivp2.description(),ovp2.description())
self.assertEqual(self.iVuln[1]["theEnvironmentProperties"][0]["theSeverity"], ovp2.environmentProperties()[0].severity())
self.assertEqual(str(self.iVuln[1]["theEnvironmentProperties"][0]["theAssets"][0]), str(ovep2[0].assets()[0]))
ovp3 = ovps[self.iVuln[2]["theName"]]
ovep3 = ovp3.environmentProperties()
self.assertEqual(ivp3.name(), ovp3.name())
self.assertEqual(ivp3.type(),ovp3.type())
self.assertEqual(ivp3.description(),ovp3.description())
self.assertEqual(self.iVuln[2]["theEnvironmentProperties"][0]["theSeverity"], ovep3[0].severity())
self.assertEqual(str(self.iVuln[2]["theEnvironmentProperties"][0]["theAssets"][0]), str(ovep3[0].assets()[0]))
ovp3.theVulnerabilityName = 'updated name'
ovp3.theVulnerabilityDescription = 'updated description'
b.dbProxy.updateVulnerability(ovp3)
ovps = b.dbProxy.getVulnerabilities()
ovp4 = ovps['updated name']
self.assertEqual(ovp3.name(), ovp4.name())
self.assertEqual(ovp3.type(),ovp4.type())
self.assertEqual(ovp3.description(),ovp4.description())
b.dbProxy.deleteVulnerability(ovp1.id())
b.dbProxy.deleteVulnerability(ovp2.id())
b.dbProxy.deleteVulnerability(ovp3.id())
def tearDown(self):
b = Borg()
b.dbProxy.deleteVulnerabilityType(self.oVtypes[0].id())
b.dbProxy.deleteVulnerabilityType(self.oVtypes[1].id())
b.dbProxy.deleteAsset( self.oaps[self.iap.name()].id())
b.dbProxy.deleteEnvironment(self.oenvs[self.iep1.name()].id())
b.dbProxy.deleteEnvironment(self.oenvs[self.iep2.name()].id())
b.dbProxy.deleteEnvironment(self.oenvs[self.iep3.name()].id())
b.dbProxy.close()
call([os.environ['CAIRIS_SRC'] + "/test/dropdb.sh"])
示例11: testStandardEnvironment
def testStandardEnvironment(self):
iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
iep2 = EnvironmentParameters(self.ienvs[1]["theName"],self.ienvs[1]["theShortCode"],self.ienvs[1]["theDescription"])
iep3 = EnvironmentParameters(self.ienvs[2]["theName"],self.ienvs[2]["theShortCode"],self.ienvs[2]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(iep1)
b.dbProxy.addEnvironment(iep2)
b.dbProxy.addEnvironment(iep3)
oenvs = b.dbProxy.getEnvironments()
oep1 = oenvs[self.ienvs[0]["theName"]]
self.assertEqual(iep1.name(), oep1.name())
self.assertEqual(iep1.shortCode(),oep1.shortCode())
self.assertEqual(iep1.description(),oep1.description())
oep2 = oenvs[self.ienvs[1]["theName"]]
self.assertEqual(iep2.name(), oep2.name())
self.assertEqual(iep2.shortCode(),oep2.shortCode())
self.assertEqual(iep2.description(),oep2.description())
oep3 = oenvs[self.ienvs[2]["theName"]]
self.assertEqual(iep3.name(), oep3.name())
self.assertEqual(iep3.shortCode(),oep3.shortCode())
self.assertEqual(iep3.description(),oep3.description())
b.dbProxy.deleteEnvironment(oep1.id())
b.dbProxy.deleteEnvironment(oep2.id())
b.dbProxy.deleteEnvironment(oep3.id())
示例12: GoalTest
class GoalTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/goals.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iassets = d['assets']
self.iaeps1 = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap1 = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps1)
b.dbProxy.addAsset(self.iap1)
self.oap = b.dbProxy.getAssets()
self.iGoals = d['goals']
def testGoal(self):
b = Borg()
igep1 = GoalEnvironmentProperties(self.iGoals[0]["theEnvironmentProperties"][0],self.iGoals[0]["theEnvironmentProperties"][1],self.iGoals[0]["theEnvironmentProperties"][2],self.iGoals[0]["theEnvironmentProperties"][3],self.iGoals[0]["theEnvironmentProperties"][4],self.iGoals[0]["theEnvironmentProperties"][5],self.iGoals[0]["theEnvironmentProperties"][6],[],[],[self.iGoals[0]["theEnvironmentProperties"][7]],[])
igep2 = GoalEnvironmentProperties(self.iGoals[1]["theEnvironmentProperties"][0],self.iGoals[1]["theEnvironmentProperties"][1],self.iGoals[1]["theEnvironmentProperties"][2],self.iGoals[1]["theEnvironmentProperties"][3],self.iGoals[1]["theEnvironmentProperties"][4],self.iGoals[1]["theEnvironmentProperties"][5],self.iGoals[1]["theEnvironmentProperties"][6],[],[],[self.iGoals[1]["theEnvironmentProperties"][7]],[])
igep3 = GoalEnvironmentProperties(self.iGoals[2]["theEnvironmentProperties"][0],self.iGoals[2]["theEnvironmentProperties"][1],self.iGoals[2]["theEnvironmentProperties"][2],self.iGoals[2]["theEnvironmentProperties"][3],self.iGoals[2]["theEnvironmentProperties"][4],self.iGoals[2]["theEnvironmentProperties"][5],self.iGoals[2]["theEnvironmentProperties"][6],[],[],[self.iGoals[2]["theEnvironmentProperties"][7]],[])
igp1 = GoalParameters(self.iGoals[0]["theName"],self.iGoals[0]["theOriginator"],[],[igep1])
igp2 = GoalParameters(self.iGoals[1]["theName"],self.iGoals[1]["theOriginator"],[],[igep2])
igp3 = GoalParameters(self.iGoals[2]["theName"],self.iGoals[2]["theOriginator"],[],[igep3])
b.dbProxy.addGoal(igp1)
b.dbProxy.addGoal(igp2)
b.dbProxy.addGoal(igp3)
b.dbProxy.relabelGoals(igep1.name())
oGoals = b.dbProxy.getGoals()
og1 = oGoals[self.iGoals[0]["theName"]]
og2 = oGoals[self.iGoals[1]["theName"]]
og3 = oGoals[self.iGoals[2]["theName"]]
self.assertEqual(igp1.name(), og1.name())
self.assertEqual(igp1.originator(), og1.originator())
ogep1 = og1.environmentProperty(igep1.name())
ogep2 = og2.environmentProperty(igep1.name())
self.assertEqual(igep1.label(), ogep1.label())
self.assertEqual(igep1.definition(), ogep1.definition())
self.assertEqual(igep1.category(), ogep1.category())
self.assertEqual(igep1.priority(), ogep1.priority())
self.assertEqual(igep1.fitCriterion(), ogep1.fitCriterion())
self.assertEqual(igep1.issue(), ogep1.issue())
self.assertEqual(igep1.goalRefinements(), ogep1.goalRefinements())
self.assertEqual(igep1.subGoalRefinements(), ogep1.subGoalRefinements())
self.assertEqual(igep1.concerns(), ogep1.concerns())
self.assertEqual(igep1.concernAssociations(), ogep1.concernAssociations())
envName = self.iGoals[0]["theEnvironmentProperties"][0]
self.assertEqual(igep1.label(), og1.label(envName))
self.assertEqual(igep1.definition(), og1.definition(envName,''))
self.assertEqual(igep1.category(), og1.category(envName,''))
self.assertEqual(igep1.priority(), og1.priority(envName,''))
self.assertEqual(igep1.fitCriterion(), og1.fitCriterion(envName,''))
self.assertEqual(igep1.issue(), og1.issue(envName,''))
self.assertEqual(igep2.label(), ogep2.label())
self.assertEqual(igep2.definition(), ogep2.definition())
self.assertEqual(igep2.category(), ogep2.category())
self.assertEqual(igep2.priority(), ogep2.priority())
self.assertEqual(igep2.fitCriterion(), ogep2.fitCriterion())
self.assertEqual(igep2.issue(), ogep2.issue())
self.assertEqual(igep2.goalRefinements(), ogep2.goalRefinements())
self.assertEqual(igep2.subGoalRefinements(), ogep2.subGoalRefinements())
self.assertEqual(igep2.concerns(), ogep2.concerns())
self.assertEqual(igep2.concernAssociations(), ogep2.concernAssociations())
igop1 = GoalAssociationParameters(igep1.name(),igp1.name(),'goal','and',igp2.name(),'goal',0,'None')
igop2 = GoalAssociationParameters(igep1.name(),igp1.name(),'goal','and',igp3.name(),'goal',0,'None')
b.dbProxy.addGoalAssociation(igop1)
b.dbProxy.addGoalAssociation(igop2)
ogops = b.dbProxy.getGoalAssociations()
ogop1 = ogops[igep1.name() + '/' + igp1.name() + '/' + igp2.name() + '/and']
ogop2 = ogops[igep2.name() + '/' + igp1.name() + '/' + igp3.name() + '/and']
self.assertEqual(igop1.environment(), ogop1.environment())
self.assertEqual(igop1.goal(), ogop1.goal())
self.assertEqual(igop1.goalDimension(), ogop1.goalDimension())
self.assertEqual(igop1.type(), ogop1.type())
self.assertEqual(igop1.subGoal(), ogop1.subGoal())
self.assertEqual(igop1.subGoalDimension(), ogop1.subGoalDimension())
self.assertEqual(igop1.alternative(), ogop1.alternative())
self.assertEqual(igop1.rationale(), ogop1.rationale())
self.assertEqual(igop2.environment(), ogop2.environment())
self.assertEqual(igop2.goal(), ogop2.goal())
self.assertEqual(igop2.goalDimension(), ogop2.goalDimension())
self.assertEqual(igop2.type(), ogop2.type())
self.assertEqual(igop2.subGoal(), ogop2.subGoal())
#.........这里部分代码省略.........
示例13: setUp
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/responses.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iRoles = d['roles']
self.irp = RoleParameters(self.iRoles[0]["theName"], self.iRoles[0]["theType"], self.iRoles[0]["theShortCode"], self.iRoles[0]["theDescription"],[])
b.dbProxy.addRole(self.irp)
self.oRoles = b.dbProxy.getRoles()
self.iPersonas = d['personas']
self.ipp = PersonaParameters(self.iPersonas[0]["theName"],self.iPersonas[0]["theActivities"],self.iPersonas[0]["theAttitudes"],self.iPersonas[0]["theAptitudes"],self.iPersonas[0]["theMotivations"],self.iPersonas[0]["theSkills"],self.iPersonas[0]["theIntrinsic"],self.iPersonas[0]["theContextual"],"","0",self.iPersonas[0]["thePersonaType"],[],[PersonaEnvironmentProperties(self.iPersonas[0]["theEnvironmentProperties"][0]["theName"],(self.iPersonas[0]["theEnvironmentProperties"][0]["theDirectFlag"] == "True"),self.iPersonas[0]["theEnvironmentProperties"][0]["theNarrative"],self.iPersonas[0]["theEnvironmentProperties"][0]["theRole"])],[])
b.dbProxy.addPersona(self.ipp)
self.opp = b.dbProxy.getPersonas()
self.iExternalDocuments = d['external_documents']
self.iec1 = ExternalDocumentParameters(self.iExternalDocuments[0]["theName"],self.iExternalDocuments[0]["theVersion"],self.iExternalDocuments[0]["thePublicationDate"],self.iExternalDocuments[0]["theAuthors"],self.iExternalDocuments[0]["theDescription"])
self.iec2 = ExternalDocumentParameters(self.iExternalDocuments[1]["theName"],self.iExternalDocuments[1]["theVersion"],self.iExternalDocuments[1]["thePublicationDate"],self.iExternalDocuments[1]["theAuthors"],self.iExternalDocuments[1]["theDescription"])
b.dbProxy.addExternalDocument(self.iec1)
b.dbProxy.addExternalDocument(self.iec2)
self.oecs = b.dbProxy.getExternalDocuments()
self.iDocumentReferences = d['document_references']
self.idr1 = DocumentReferenceParameters(self.iDocumentReferences[0]["theName"],self.iDocumentReferences[0]["theDocName"],self.iDocumentReferences[0]["theContributor"],self.iDocumentReferences[0]["theExcerpt"])
self.idr2 = DocumentReferenceParameters(self.iDocumentReferences[1]["theName"],self.iDocumentReferences[1]["theDocName"],self.iDocumentReferences[1]["theContributor"],self.iDocumentReferences[1]["theExcerpt"])
b.dbProxy.addDocumentReference(self.idr1)
b.dbProxy.addDocumentReference(self.idr2)
self.odrs = b.dbProxy.getDocumentReferences()
self.iPersonaCharacteristics = d['persona_characteristics']
self.ipc1 = PersonaCharacteristicParameters(self.iPersonaCharacteristics[0]["thePersonaName"],self.iPersonaCharacteristics[0]["theModQual"],self.iPersonaCharacteristics[0]["theVariable"],self.iPersonaCharacteristics[0]["theCharacteristic"],[(self.iPersonaCharacteristics[0]["ground"],'','document')],[(self.iPersonaCharacteristics[0]["warrant"],'','document')],[],[])
b.dbProxy.addPersonaCharacteristic(self.ipc1)
self.opcs = b.dbProxy.getPersonaCharacteristics()
self.iAttackers = d['attackers']
self.iatkeps = [AttackerEnvironmentProperties(self.iAttackers[0]["theEnvironmentProperties"][0]["theName"],self.iAttackers[0]["theEnvironmentProperties"][0]["theRoles"],self.iAttackers[0]["theEnvironmentProperties"][0]["theMotives"],self.iAttackers[0]["theEnvironmentProperties"][0]["theCapabilities"])]
self.iatk = AttackerParameters(self.iAttackers[0]["theName"], self.iAttackers[0]["theDescription"], self.iAttackers[0]["theImage"],[],self.iatkeps)
b.dbProxy.addAttacker(self.iatk)
self.oAttackers = b.dbProxy.getAttackers()
self.iVtypes = d['valuetypes']
self.ivt1 = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theType"])
self.ivt2 = ValueTypeParameters(self.iVtypes[1]["theName"], self.iVtypes[1]["theDescription"], self.iVtypes[1]["theType"])
b.dbProxy.addValueType(self.ivt1)
b.dbProxy.addValueType(self.ivt2)
self.ovtt = b.dbProxy.getValueTypes('threat_type')
self.ovtv = b.dbProxy.getValueTypes('vulnerability_type')
self.iassets = d['assets']
self.iaeps1 = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iaeps2 = [AssetEnvironmentProperties(self.iassets[1]["theEnvironmentProperties"][0][0],self.iassets[1]["theEnvironmentProperties"][0][1],self.iassets[1]["theEnvironmentProperties"][0][2])]
self.iaeps3 = [AssetEnvironmentProperties(self.iassets[2]["theEnvironmentProperties"][0][0],self.iassets[2]["theEnvironmentProperties"][0][1],self.iassets[2]["theEnvironmentProperties"][0][2])]
self.iap1 = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps1)
self.iap2 = AssetParameters(self.iassets[1]["theName"],self.iassets[1]["theShortCode"],self.iassets[1]["theDescription"],self.iassets[1]["theSignificance"],self.iassets[1]["theType"],"0","N/A",[],[],self.iaeps2)
self.iap3 = AssetParameters(self.iassets[2]["theName"],self.iassets[2]["theShortCode"],self.iassets[2]["theDescription"],self.iassets[2]["theSignificance"],self.iassets[2]["theType"],"0","N/A",[],[],self.iaeps3)
b.dbProxy.addAsset(self.iap1)
b.dbProxy.addAsset(self.iap2)
b.dbProxy.addAsset(self.iap3)
self.oap = b.dbProxy.getAssets()
self.iThreats = d['threats']
self.iteps = [ThreatEnvironmentProperties(self.iThreats[0]["theEnvironmentProperties"][0]["theName"],self.iThreats[0]["theEnvironmentProperties"][0]["theLikelihood"],self.iThreats[0]["theEnvironmentProperties"][0]["theAssets"],self.iThreats[0]["theEnvironmentProperties"][0]["theAttackers"],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1])]
self.itps = ThreatParameters(self.iThreats[0]["theName"],self.iThreats[0]["theType"],self.iThreats[0]["theMethod"],[],self.iteps)
b.dbProxy.addThreat(self.itps)
self.otps = b.dbProxy.getThreats()
self.iVuln = d['vulnerabilities']
self.iveps = [VulnerabilityEnvironmentProperties(self.iVuln[0]["theEnvironmentProperties"][0]["theName"],self.iVuln[0]["theEnvironmentProperties"][0]["theSeverity"],self.iVuln[0]["theEnvironmentProperties"][0]["theAssets"])]
self.ivp = VulnerabilityParameters(self.iVuln[0]["theName"],self.iVuln[0]["theDescription"],self.iVuln[0]["theType"], [], self.iveps)
b.dbProxy.addVulnerability(self.ivp)
self.ovp = b.dbProxy.getVulnerabilities()
self.imc = d['misuseCase']
self.iRisks = d['risks']
imcep = [MisuseCaseEnvironmentProperties(self.imc[0]["theEnvironmentProperties"][0]["theName"],self.imc[0]["theEnvironmentProperties"][0]["theDescription"])]
imcp = MisuseCase(int(0), self.imc[0]["theName"], imcep,self.imc[0]["theRisk"])
irp = RiskParameters(self.iRisks[0]["theName"],self.iRisks[0]["threatName"],self.iRisks[0]["vulName"], imcp,[])
b.dbProxy.addRisk(irp)
oRisks = b.dbProxy.getRisks()
self.r = oRisks[self.iRisks[0]["theName"]]
self.iResponses = d['responses']
示例14: ResponseTest
class ResponseTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/responses.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iRoles = d['roles']
self.irp = RoleParameters(self.iRoles[0]["theName"], self.iRoles[0]["theType"], self.iRoles[0]["theShortCode"], self.iRoles[0]["theDescription"],[])
b.dbProxy.addRole(self.irp)
self.oRoles = b.dbProxy.getRoles()
self.iPersonas = d['personas']
self.ipp = PersonaParameters(self.iPersonas[0]["theName"],self.iPersonas[0]["theActivities"],self.iPersonas[0]["theAttitudes"],self.iPersonas[0]["theAptitudes"],self.iPersonas[0]["theMotivations"],self.iPersonas[0]["theSkills"],self.iPersonas[0]["theIntrinsic"],self.iPersonas[0]["theContextual"],"","0",self.iPersonas[0]["thePersonaType"],[],[PersonaEnvironmentProperties(self.iPersonas[0]["theEnvironmentProperties"][0]["theName"],(self.iPersonas[0]["theEnvironmentProperties"][0]["theDirectFlag"] == "True"),self.iPersonas[0]["theEnvironmentProperties"][0]["theNarrative"],self.iPersonas[0]["theEnvironmentProperties"][0]["theRole"])],[])
b.dbProxy.addPersona(self.ipp)
self.opp = b.dbProxy.getPersonas()
self.iExternalDocuments = d['external_documents']
self.iec1 = ExternalDocumentParameters(self.iExternalDocuments[0]["theName"],self.iExternalDocuments[0]["theVersion"],self.iExternalDocuments[0]["thePublicationDate"],self.iExternalDocuments[0]["theAuthors"],self.iExternalDocuments[0]["theDescription"])
self.iec2 = ExternalDocumentParameters(self.iExternalDocuments[1]["theName"],self.iExternalDocuments[1]["theVersion"],self.iExternalDocuments[1]["thePublicationDate"],self.iExternalDocuments[1]["theAuthors"],self.iExternalDocuments[1]["theDescription"])
b.dbProxy.addExternalDocument(self.iec1)
b.dbProxy.addExternalDocument(self.iec2)
self.oecs = b.dbProxy.getExternalDocuments()
self.iDocumentReferences = d['document_references']
self.idr1 = DocumentReferenceParameters(self.iDocumentReferences[0]["theName"],self.iDocumentReferences[0]["theDocName"],self.iDocumentReferences[0]["theContributor"],self.iDocumentReferences[0]["theExcerpt"])
self.idr2 = DocumentReferenceParameters(self.iDocumentReferences[1]["theName"],self.iDocumentReferences[1]["theDocName"],self.iDocumentReferences[1]["theContributor"],self.iDocumentReferences[1]["theExcerpt"])
b.dbProxy.addDocumentReference(self.idr1)
b.dbProxy.addDocumentReference(self.idr2)
self.odrs = b.dbProxy.getDocumentReferences()
self.iPersonaCharacteristics = d['persona_characteristics']
self.ipc1 = PersonaCharacteristicParameters(self.iPersonaCharacteristics[0]["thePersonaName"],self.iPersonaCharacteristics[0]["theModQual"],self.iPersonaCharacteristics[0]["theVariable"],self.iPersonaCharacteristics[0]["theCharacteristic"],[(self.iPersonaCharacteristics[0]["ground"],'','document')],[(self.iPersonaCharacteristics[0]["warrant"],'','document')],[],[])
b.dbProxy.addPersonaCharacteristic(self.ipc1)
self.opcs = b.dbProxy.getPersonaCharacteristics()
self.iAttackers = d['attackers']
self.iatkeps = [AttackerEnvironmentProperties(self.iAttackers[0]["theEnvironmentProperties"][0]["theName"],self.iAttackers[0]["theEnvironmentProperties"][0]["theRoles"],self.iAttackers[0]["theEnvironmentProperties"][0]["theMotives"],self.iAttackers[0]["theEnvironmentProperties"][0]["theCapabilities"])]
self.iatk = AttackerParameters(self.iAttackers[0]["theName"], self.iAttackers[0]["theDescription"], self.iAttackers[0]["theImage"],[],self.iatkeps)
b.dbProxy.addAttacker(self.iatk)
self.oAttackers = b.dbProxy.getAttackers()
self.iVtypes = d['valuetypes']
self.ivt1 = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theType"])
self.ivt2 = ValueTypeParameters(self.iVtypes[1]["theName"], self.iVtypes[1]["theDescription"], self.iVtypes[1]["theType"])
b.dbProxy.addValueType(self.ivt1)
b.dbProxy.addValueType(self.ivt2)
self.ovtt = b.dbProxy.getValueTypes('threat_type')
self.ovtv = b.dbProxy.getValueTypes('vulnerability_type')
self.iassets = d['assets']
self.iaeps1 = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iaeps2 = [AssetEnvironmentProperties(self.iassets[1]["theEnvironmentProperties"][0][0],self.iassets[1]["theEnvironmentProperties"][0][1],self.iassets[1]["theEnvironmentProperties"][0][2])]
self.iaeps3 = [AssetEnvironmentProperties(self.iassets[2]["theEnvironmentProperties"][0][0],self.iassets[2]["theEnvironmentProperties"][0][1],self.iassets[2]["theEnvironmentProperties"][0][2])]
self.iap1 = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps1)
self.iap2 = AssetParameters(self.iassets[1]["theName"],self.iassets[1]["theShortCode"],self.iassets[1]["theDescription"],self.iassets[1]["theSignificance"],self.iassets[1]["theType"],"0","N/A",[],[],self.iaeps2)
self.iap3 = AssetParameters(self.iassets[2]["theName"],self.iassets[2]["theShortCode"],self.iassets[2]["theDescription"],self.iassets[2]["theSignificance"],self.iassets[2]["theType"],"0","N/A",[],[],self.iaeps3)
b.dbProxy.addAsset(self.iap1)
b.dbProxy.addAsset(self.iap2)
b.dbProxy.addAsset(self.iap3)
self.oap = b.dbProxy.getAssets()
self.iThreats = d['threats']
self.iteps = [ThreatEnvironmentProperties(self.iThreats[0]["theEnvironmentProperties"][0]["theName"],self.iThreats[0]["theEnvironmentProperties"][0]["theLikelihood"],self.iThreats[0]["theEnvironmentProperties"][0]["theAssets"],self.iThreats[0]["theEnvironmentProperties"][0]["theAttackers"],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1])]
self.itps = ThreatParameters(self.iThreats[0]["theName"],self.iThreats[0]["theType"],self.iThreats[0]["theMethod"],[],self.iteps)
b.dbProxy.addThreat(self.itps)
self.otps = b.dbProxy.getThreats()
self.iVuln = d['vulnerabilities']
self.iveps = [VulnerabilityEnvironmentProperties(self.iVuln[0]["theEnvironmentProperties"][0]["theName"],self.iVuln[0]["theEnvironmentProperties"][0]["theSeverity"],self.iVuln[0]["theEnvironmentProperties"][0]["theAssets"])]
self.ivp = VulnerabilityParameters(self.iVuln[0]["theName"],self.iVuln[0]["theDescription"],self.iVuln[0]["theType"], [], self.iveps)
b.dbProxy.addVulnerability(self.ivp)
self.ovp = b.dbProxy.getVulnerabilities()
self.imc = d['misuseCase']
self.iRisks = d['risks']
imcep = [MisuseCaseEnvironmentProperties(self.imc[0]["theEnvironmentProperties"][0]["theName"],self.imc[0]["theEnvironmentProperties"][0]["theDescription"])]
imcp = MisuseCase(int(0), self.imc[0]["theName"], imcep,self.imc[0]["theRisk"])
irp = RiskParameters(self.iRisks[0]["theName"],self.iRisks[0]["threatName"],self.iRisks[0]["vulName"], imcp,[])
b.dbProxy.addRisk(irp)
oRisks = b.dbProxy.getRisks()
self.r = oRisks[self.iRisks[0]["theName"]]
self.iResponses = d['responses']
def testResponse(self):
iar1Name = self.iResponses[0]["theType"] + " " + self.iResponses[0]["theRisk"]
iaep1 = AcceptEnvironmentProperties(self.iResponses[0]["theEnvironmentProperties"][0],self.iResponses[0]["theEnvironmentProperties"][1],self.iResponses[0]["theEnvironmentProperties"][2])
iar1 = ResponseParameters(iar1Name,self.iResponses[0]["theRisk"],[],[iaep1], self.iResponses[0]["theType"])
iar2Name = self.iResponses[1]["theType"] + " " + self.iResponses[1]["theRisk"]
iaep2 = MitigateEnvironmentProperties(self.iResponses[1]["theEnvironmentProperties"],self.iResponses[1]["theType"])
iar2 = ResponseParameters(iar2Name,self.iResponses[1]["theRisk"],[],[iaep2], self.iResponses[1]["theType"])
b = Borg()
b.dbProxy.addResponse(iar1)
b.dbProxy.addResponse(iar2)
self.ors = b.dbProxy.getResponses()
self.oar1 = self.ors[iar1Name]
self.oar2 = self.ors[iar2Name]
self.assertEqual(iar1.name(),self.oar1.name())
self.assertEqual(iar1.risk(),self.oar1.risk())
#.........这里部分代码省略.........
示例15: RiskTest
class RiskTest(unittest.TestCase):
def setUp(self):
call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
cairis.core.BorgFactory.initialise()
f = open(os.environ['CAIRIS_SRC'] + '/test/risks.json')
d = json.load(f)
f.close()
self.ienvs = d['environments']
self.iep1 = EnvironmentParameters(self.ienvs[0]["theName"],self.ienvs[0]["theShortCode"],self.ienvs[0]["theDescription"])
b = Borg()
b.dbProxy.addEnvironment(self.iep1)
self.oenvs = b.dbProxy.getEnvironments()
self.iRoles = d['roles']
self.irp = RoleParameters(self.iRoles[0]["theName"], self.iRoles[0]["theType"], self.iRoles[0]["theShortCode"], self.iRoles[0]["theDescription"],[])
b.dbProxy.addRole(self.irp)
self.oRoles = b.dbProxy.getRoles()
self.iPersonas = d['personas']
self.ipp = PersonaParameters(self.iPersonas[0]["theName"],self.iPersonas[0]["theActivities"],self.iPersonas[0]["theAttitudes"],self.iPersonas[0]["theAptitudes"],self.iPersonas[0]["theMotivations"],self.iPersonas[0]["theSkills"],self.iPersonas[0]["theIntrinsic"],self.iPersonas[0]["theContextual"],"","0",self.iPersonas[0]["thePersonaType"],[],[PersonaEnvironmentProperties(self.iPersonas[0]["theEnvironmentProperties"][0]["theName"],(self.iPersonas[0]["theEnvironmentProperties"][0]["theDirectFlag"] == "True"),self.iPersonas[0]["theEnvironmentProperties"][0]["theNarrative"],self.iPersonas[0]["theEnvironmentProperties"][0]["theRole"])],[])
b.dbProxy.addPersona(self.ipp)
self.opp = b.dbProxy.getPersonas()
self.iExternalDocuments = d['external_documents']
self.iec1 = ExternalDocumentParameters(self.iExternalDocuments[0]["theName"],self.iExternalDocuments[0]["theVersion"],self.iExternalDocuments[0]["thePublicationDate"],self.iExternalDocuments[0]["theAuthors"],self.iExternalDocuments[0]["theDescription"])
self.iec2 = ExternalDocumentParameters(self.iExternalDocuments[1]["theName"],self.iExternalDocuments[1]["theVersion"],self.iExternalDocuments[1]["thePublicationDate"],self.iExternalDocuments[1]["theAuthors"],self.iExternalDocuments[1]["theDescription"])
b.dbProxy.addExternalDocument(self.iec1)
b.dbProxy.addExternalDocument(self.iec2)
self.oecs = b.dbProxy.getExternalDocuments()
self.iDocumentReferences = d['document_references']
self.idr1 = DocumentReferenceParameters(self.iDocumentReferences[0]["theName"],self.iDocumentReferences[0]["theDocName"],self.iDocumentReferences[0]["theContributor"],self.iDocumentReferences[0]["theExcerpt"])
self.idr2 = DocumentReferenceParameters(self.iDocumentReferences[1]["theName"],self.iDocumentReferences[1]["theDocName"],self.iDocumentReferences[1]["theContributor"],self.iDocumentReferences[1]["theExcerpt"])
b.dbProxy.addDocumentReference(self.idr1)
b.dbProxy.addDocumentReference(self.idr2)
self.odrs = b.dbProxy.getDocumentReferences()
self.iPersonaCharacteristics = d['persona_characteristics']
self.ipc1 = PersonaCharacteristicParameters(self.iPersonaCharacteristics[0]["thePersonaName"],self.iPersonaCharacteristics[0]["theModQual"],self.iPersonaCharacteristics[0]["theVariable"],self.iPersonaCharacteristics[0]["theCharacteristic"],[(self.iPersonaCharacteristics[0]["ground"],'','document')],[(self.iPersonaCharacteristics[0]["warrant"],'','document')],[],[])
b.dbProxy.addPersonaCharacteristic(self.ipc1)
self.opcs = b.dbProxy.getPersonaCharacteristics()
self.iAttackers = d['attackers']
self.iatkeps = [AttackerEnvironmentProperties(self.iAttackers[0]["theEnvironmentProperties"][0]["theName"],self.iAttackers[0]["theEnvironmentProperties"][0]["theRoles"],self.iAttackers[0]["theEnvironmentProperties"][0]["theMotives"],self.iAttackers[0]["theEnvironmentProperties"][0]["theCapabilities"])]
self.iatk = AttackerParameters(self.iAttackers[0]["theName"], self.iAttackers[0]["theDescription"], self.iAttackers[0]["theImage"],[],self.iatkeps)
b.dbProxy.addAttacker(self.iatk)
self.oAttackers = b.dbProxy.getAttackers()
self.iVtypes = d['valuetypes']
self.ivt1 = ValueTypeParameters(self.iVtypes[0]["theName"], self.iVtypes[0]["theDescription"], self.iVtypes[0]["theType"])
self.ivt2 = ValueTypeParameters(self.iVtypes[1]["theName"], self.iVtypes[1]["theDescription"], self.iVtypes[1]["theType"])
b.dbProxy.addValueType(self.ivt1)
b.dbProxy.addValueType(self.ivt2)
self.ovtt = b.dbProxy.getValueTypes('threat_type')
self.ovtv = b.dbProxy.getValueTypes('vulnerability_type')
self.iassets = d['assets']
self.iaeps1 = [AssetEnvironmentProperties(self.iassets[0]["theEnvironmentProperties"][0][0],self.iassets[0]["theEnvironmentProperties"][0][1],self.iassets[0]["theEnvironmentProperties"][0][2])]
self.iap1 = AssetParameters(self.iassets[0]["theName"],self.iassets[0]["theShortCode"],self.iassets[0]["theDescription"],self.iassets[0]["theSignificance"],self.iassets[0]["theType"],"0","N/A",[],[],self.iaeps1)
self.iap2 = AssetParameters(self.iassets[1]["theName"],self.iassets[1]["theShortCode"],self.iassets[1]["theDescription"],self.iassets[1]["theSignificance"],self.iassets[1]["theType"],"0","N/A",[],[],self.iaeps1)
self.iap3 = AssetParameters(self.iassets[2]["theName"],self.iassets[2]["theShortCode"],self.iassets[2]["theDescription"],self.iassets[2]["theSignificance"],self.iassets[2]["theType"],"0","N/A",[],[],self.iaeps1)
b.dbProxy.addAsset(self.iap1)
b.dbProxy.addAsset(self.iap2)
b.dbProxy.addAsset(self.iap3)
self.oap = b.dbProxy.getAssets()
self.iThreats = d['threats']
self.iteps = [ThreatEnvironmentProperties(self.iThreats[0]["theEnvironmentProperties"][0]["theName"],self.iThreats[0]["theEnvironmentProperties"][0]["theLikelihood"],self.iThreats[0]["theEnvironmentProperties"][0]["theAssets"],self.iThreats[0]["theEnvironmentProperties"][0]["theAttackers"],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1],self.iThreats[0]["theEnvironmentProperties"][0]["theProperties"][0][1])]
self.itps = ThreatParameters(self.iThreats[0]["theName"],self.iThreats[0]["theType"],self.iThreats[0]["theMethod"],[],self.iteps)
b.dbProxy.addThreat(self.itps)
self.otps = b.dbProxy.getThreats()
self.iVuln = d['vulnerabilities']
self.iveps = [VulnerabilityEnvironmentProperties(self.iVuln[0]["theEnvironmentProperties"][0]["theName"],self.iVuln[0]["theEnvironmentProperties"][0]["theSeverity"],self.iVuln[0]["theEnvironmentProperties"][0]["theAssets"])]
self.ivp = VulnerabilityParameters(self.iVuln[0]["theName"],self.iVuln[0]["theDescription"],self.iVuln[0]["theType"], [], self.iveps)
b.dbProxy.addVulnerability(self.ivp)
self.ovp = b.dbProxy.getVulnerabilities()
self.imc = d['misuseCase']
self.iRisks = d['risks']
def testRisk(self):
imcep = [MisuseCaseEnvironmentProperties(self.imc[0]["theEnvironmentProperties"][0]["theName"],self.imc[0]["theEnvironmentProperties"][0]["theDescription"])]
imcp = MisuseCase(int(0), self.imc[0]["theName"], imcep,self.imc[0]["theRisk"])
irp = RiskParameters(self.iRisks[0]["theName"],self.iRisks[0]["threatName"],self.iRisks[0]["vulName"], imcp,[])
b = Borg()
b.dbProxy.addRisk(irp)
oRisks = b.dbProxy.getRisks()
o = oRisks[self.iRisks[0]["theName"]]
self.assertEqual(irp.name(), o.name())
self.assertEqual(irp.threat(),o.threat())
self.assertEqual(irp.vulnerability(),o.vulnerability())
# scoreDetails = b.dbProxy.riskScore(self.iRisks[0]["threatName"],self.iRisks[0]["vulName"],self.iaeps1[0].name())
# preScore = scoreDetails[0][1]
# postScore = scoreDetails[0][2]
# self.assertEqual(preScore,9)
# self.assertEqual(postScore,9)
imcp.theName = 'Updated risk'
imcp.theId = o.misuseCase().id()
irp.theRiskName = 'Updated risk'
irp.theMisuseCase = imcp
irp.setId(o.id())
b.dbProxy.updateRisk(irp)
oRisks = b.dbProxy.getRisks()
o = oRisks['Updated risk']
self.assertEqual(o.name(),'Updated risk')
self.assertEqual(irp.threat(),o.threat())
#.........这里部分代码省略.........