pr.js // курсовая

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
var threats, exploits, chathrvexp, crit, removedexp, res, Rold, Rnew
var thrbyres = []
$(document).on("click", "#cnt1", function(){
$(".inpt").attr("disabled", "disabled")
$(this).hide()
$("#d_cnt2").show()
text = "<tr><td>№ ресурса</td><td>Количество угроз</td><td>Критичность в у.е.</td></tr>"
res = $("#res").val()
for (i = 0; i < res; i++) {
text += "<tr><td>" +(i+1)+ "</td><td><input class='inpt' size='3' name='cu" +(i+1)+ "'></td><td><input class='inpt' size='3' name='ku" +(i+1)+ "'></td></tr>"
}
$("#ugr").html(text)
threats = $("#threats").val()
exploits = $("#exploits").val()
chathrvexp = $("#chathrvexp").val()
crit = $("#crit").val()
removedexp = $("#removedexp").val()
})
$(document).on("click", "#cnt2", function() {
$(this).hide()
$("input[name^='cu']").each(function() {
thrbyres.push($(this).val())
})
Th = (chathrvexp / 100) * (crit / 100)
text = "Уровень угрозы по уязвимости(Th): <b>" + Th.toFixed(3) + "</b><br><br>"
SR = 0
text += main()
Rold = SR
text += '<input type="button" value="Устранить уязвимости" id="cnt3">'
$("#d_cnt3").show().html(text)
})
$(document).on("click", "#cnt3", function() {
$(this).hide()
text = "<br><br><br><b>Устраняем "+removedexp+" уязвимости в каждой угрозе.</b><br><br>"
exploits -= removedexp
SR = 0
text += main()
Rnew = SR
text += "<br><br>Эффективность введения контрмеры: <b>" + ((Rold - Rnew) / Rold).toFixed(3) + "</b>"
$("#d_cnt4").show().html(text)
})
function main() {
var UUh = []
var UUhR = []
var D = []
text = ""
cnt = 0
for (i = 0; i < threats; i++) {
text += "Уровень угрозы по всем уязвимостям UUh<sub>" + (i+1) + "</sub>: <b>"
UUh.push(1 - Math.pow((1 - Th), exploits))
text += UUh[i].toFixed(3) + "</b><br>"
}
text += "<br>"
for (i = 0; i < res; i++) {
D.push(parseInt($("input[name='ku"+(i+1)+"']").val()))
sum = 0
for (n = 0; n < thrbyres[i]; n++) {
sum += UUh[n + cnt]
}
UUhR.push(sum)
text += "Общий уровень угроз по ресурсу " + (i + 1) + ": <b>" + sum.toFixed(3) + "</b><br>"
cnt += n - 1
}
text += "<br>"
for (i = 0; i < res; i++) {
text += "Риск по ресурсу " + (i + 1) + ": <b>" + (UUhR[i] * D[i]).toFixed(3) + "</b> у.е.<br>"
SR += UUhR[i] * D[i]
}
text += "<br>Риск по системе: <b>" + SR.toFixed(3) + "</b> у.е.<br>"
return text
}