mirror of https://github.com/MISP/misp-training
12766 lines
295 KiB
Plaintext
12766 lines
295 KiB
Plaintext
1
|
|
00:00:00,880 --> 00:00:04,719
|
|
and I'll pass over the mic all right
|
|
|
|
2
|
|
00:00:02,638 --> 00:00:07,278
|
|
thank you
|
|
|
|
3
|
|
00:00:04,719 --> 00:00:09,599
|
|
yeah great, good morning good afternoon
|
|
|
|
4
|
|
00:00:07,278 --> 00:00:12,719
|
|
and even good evening for some of you
|
|
|
|
5
|
|
00:00:09,599 --> 00:00:14,879
|
|
um so um i'm really glad and uh
|
|
|
|
6
|
|
00:00:12,718 --> 00:00:16,480
|
|
we are glad to present about MISP today
|
|
|
|
7
|
|
00:00:14,880 --> 00:00:18,719
|
|
and so it's a
|
|
|
|
8
|
|
00:00:16,480 --> 00:00:20,240
|
|
double series of workshops so we start
|
|
|
|
9
|
|
00:00:18,719 --> 00:00:20,799
|
|
with a workshop of the introduction and
|
|
|
|
10
|
|
00:00:20,239 --> 00:00:22,799
|
|
we go
|
|
|
|
11
|
|
00:00:20,800 --> 00:00:23,839
|
|
more deeper tomorrow in that second
|
|
|
|
12
|
|
00:00:22,800 --> 00:00:26,160
|
|
workshop
|
|
|
|
13
|
|
00:00:23,839 --> 00:00:27,359
|
|
um i'm alexander noah I do work for
|
|
|
|
14
|
|
00:00:26,160 --> 00:00:30,640
|
|
CIRCL and
|
|
|
|
15
|
|
00:00:27,359 --> 00:00:34,800
|
|
i work in the MISP {inaudible}
|
|
|
|
16
|
|
00:00:30,640 --> 00:00:37,520
|
|
so today uh the agenda is the following
|
|
|
|
17
|
|
00:00:34,799 --> 00:00:38,78
|
|
uh we will do a quick introduction to
|
|
|
|
18
|
|
00:00:37,520 --> 00:00:41,920
|
|
MISP
|
|
|
|
19
|
|
00:00:38,79 --> 00:00:43,679
|
|
a kind of of one-hour sessions with
|
|
|
|
20
|
|
00:00:41,920 --> 00:00:46,239
|
|
all the detail about MISP and then a
|
|
|
|
21
|
|
00:00:43,679 --> 00:00:49,359
|
|
more like kind of usage deep dive
|
|
|
|
22
|
|
00:00:46,238 --> 00:00:52,558
|
|
of one hour where we do hands-on together
|
|
|
|
23
|
|
00:00:49,359 --> 00:00:55,519
|
|
um for the logistic aspect um
|
|
|
|
24
|
|
00:00:52,558 --> 00:00:55,839
|
|
in the chat room we will share with you
|
|
|
|
25
|
|
00:00:55,520 --> 00:00:57,520
|
|
uh
|
|
|
|
26
|
|
00:00:55,840 --> 00:00:59,520
|
|
all the details how to access the MISP
|
|
|
|
27
|
|
00:00:57,520 --> 00:01:00,399
|
|
instance so during the sessions in the
|
|
|
|
28
|
|
00:00:59,520 --> 00:01:02,239
|
|
workshop
|
|
|
|
29
|
|
00:01:00,399 --> 00:01:03,840
|
|
you can connect to a dedicated MISP
|
|
|
|
30
|
|
00:01:02,238 --> 00:01:05,840
|
|
system that we set up for you
|
|
|
|
31
|
|
00:01:03,840 --> 00:01:07,680
|
|
and this one will be used for all the
|
|
|
|
32
|
|
00:01:05,840 --> 00:01:10,79
|
|
hands-on that we will
|
|
|
|
33
|
|
00:01:07,680 --> 00:01:12,240
|
|
we do as I just mentioned we have a
|
|
|
|
34
|
|
00:01:10,79 --> 00:01:14,158
|
|
small short break of 15 minutes
|
|
|
|
35
|
|
00:01:12,239 --> 00:01:15,679
|
|
and then we will continue in the end
|
|
|
|
36
|
|
00:01:14,159 --> 00:01:18,960
|
|
{inaudible}
|
|
|
|
37
|
|
00:01:15,680 --> 00:01:20,880
|
|
depending of how far we are today uh
|
|
|
|
38
|
|
00:01:18,959 --> 00:01:22,959
|
|
we will maybe talk about the community
|
|
|
|
39
|
|
00:01:20,879 --> 00:01:24,719
|
|
building aspect but this is a topic for
|
|
|
|
40
|
|
00:01:22,959 --> 00:01:26,239
|
|
tomorrow obviously
|
|
|
|
41
|
|
00:01:24,719 --> 00:01:28,640
|
|
but if we have some time remaining we
|
|
|
|
42
|
|
00:01:26,239 --> 00:01:29,280
|
|
might uh talk about this and then we
|
|
|
|
43
|
|
00:01:28,640 --> 00:01:31,920
|
|
have a
|
|
|
|
44
|
|
00:01:29,280 --> 00:01:33,280
|
|
q&a sessions uh to discuss about the
|
|
|
|
45
|
|
00:01:31,920 --> 00:01:35,359
|
|
different {inaudible} and so on
|
|
|
|
46
|
|
00:01:33,280 --> 00:01:37,439
|
|
so don't hesitate to to put your
|
|
|
|
47
|
|
00:01:35,359 --> 00:01:39,438
|
|
question to zoom
|
|
|
|
48
|
|
00:01:37,438 --> 00:01:42,319
|
|
uh directly and we will try to answer live
|
|
|
|
50
|
|
00:01:40,799 --> 00:01:45,600
|
|
all those questions that you are asking
|
|
|
|
51
|
|
00:01:42,319 --> 00:01:45,599
|
|
during uh during this session
|
|
|
|
52
|
|
00:01:46,319 --> 00:01:50,239
|
|
so first of all welcome all as well from
|
|
|
|
53
|
|
00:01:48,478 --> 00:01:53,519
|
|
me so i'm Andras Iklody i'm
|
|
|
|
54
|
|
00:01:50,239 --> 00:01:56,798
|
|
also working at CIRCL working on MISP
|
|
|
|
55
|
|
00:01:53,519 --> 00:01:57,280
|
|
um to just kick things off um I think
|
|
|
|
56
|
|
00:01:56,799 --> 00:01:58,719
|
|
it's a good
|
|
|
|
57
|
|
00:01:57,280 --> 00:02:00,79
|
|
good moment to start a little bit about
|
|
|
|
58
|
|
00:01:58,718 --> 00:02:02,78
|
|
the history of how this whole thing
|
|
|
|
59
|
|
00:02:00,78 --> 00:02:04,879
|
|
started how MISP came about
|
|
|
|
60
|
|
00:02:02,78 --> 00:02:06,839
|
|
so just a quick introduction of where we
|
|
|
|
61
|
|
00:02:04,879 --> 00:02:09,519
|
|
came from and where where we are
|
|
|
|
62
|
|
00:02:06,840 --> 00:02:10,399
|
|
nowadays uh initially this whole thing
|
|
|
|
63
|
|
00:02:09,520 --> 00:02:13,520
|
|
for us with MISP
|
|
|
|
64
|
|
00:02:10,399 --> 00:02:14,959
|
|
started as part of a of a series of
|
|
|
|
65
|
|
00:02:13,520 --> 00:02:17,360
|
|
incidents that we had in
|
|
|
|
66
|
|
00:02:14,959 --> 00:02:19,759
|
|
back in 2012 between national and
|
|
|
|
67
|
|
00:02:17,360 --> 00:02:22,480
|
|
military CSIRTS at the time
|
|
|
|
68
|
|
00:02:19,759 --> 00:02:24,799
|
|
where we were basically investigating umattacks
|
|
|
|
70
|
|
00:02:23,520 --> 00:02:27,120
|
|
that were hitting several of the
|
|
|
|
71
|
|
00:02:24,800 --> 00:02:28,319
|
|
institutions at the at the time
|
|
|
|
72
|
|
00:02:27,120 --> 00:02:30,400
|
|
and one of the interesting things that
|
|
|
|
73
|
|
00:02:28,318 --> 00:02:31,759
|
|
we found was that even though we had
|
|
|
|
74
|
|
00:02:30,400 --> 00:02:33,519
|
|
something called the malware analysis
|
|
|
|
75
|
|
00:02:31,759 --> 00:02:35,120
|
|
working group which was this which is a
|
|
|
|
76
|
|
00:02:33,519 --> 00:02:37,360
|
|
group that was regularly meeting and
|
|
|
|
77
|
|
00:02:35,120 --> 00:02:39,680
|
|
discussing ongoing incidents
|
|
|
|
78
|
|
00:02:37,360 --> 00:02:40,720
|
|
we still had a massive gap in between
|
|
|
|
79
|
|
00:02:39,680 --> 00:02:42,80
|
|
those meetings
|
|
|
|
80
|
|
00:02:40,719 --> 00:02:44,318
|
|
where everyone was working in their own
|
|
|
|
81
|
|
00:02:42,80 --> 00:02:45,920
|
|
silo on basically the same attack and
|
|
|
|
82
|
|
00:02:44,318 --> 00:02:47,759
|
|
and doing reverse engineering of the
|
|
|
|
83
|
|
00:02:45,919 --> 00:02:50,0
|
|
165.92 --> 170
|
|
same attacks without
|
|
|
|
84
|
|
00:02:47,759 --> 00:02:53,439
|
|
having the ways, the means or the processes
|
|
|
|
86
|
|
00:02:51,120 --> 00:02:55,39
|
|
to directly share with our peers so we
|
|
|
|
87
|
|
00:02:53,439 --> 00:02:55,919
|
|
ended up with a lot of duplication of
|
|
|
|
88
|
|
00:02:55,39 --> 00:02:57,759
|
|
work which ended
|
|
|
|
89
|
|
00:02:55,919 --> 00:02:59,199
|
|
which was obviously frustrating from uh
|
|
|
|
90
|
|
00:02:57,759 --> 00:03:01,439
|
|
for many of us
|
|
|
|
91
|
|
00:02:59,199 --> 00:03:03,598
|
|
so Christophe Vandeplas at the time he
|
|
|
|
92
|
|
00:03:01,439 --> 00:03:06,318
|
|
was working at the belgian
|
|
|
|
93
|
|
00:03:03,598 --> 00:03:08,399
|
|
ministry of defense um in his free time
|
|
|
|
94
|
|
00:03:06,318 --> 00:03:10,318
|
|
wrote a platform called {inaudible}
|
|
|
|
95
|
|
00:03:08,400 --> 00:03:11,519
|
|
that later on ended up becoming MISP so
|
|
|
|
96
|
|
00:03:10,318 --> 00:03:13,280
|
|
the initial idea was
|
|
|
|
97
|
|
00:03:11,519 --> 00:03:14,800
|
|
really for reverse engineers to share
|
|
|
|
98
|
|
00:03:13,280 --> 00:03:15,439
|
|
the output of their work directly with
|
|
|
|
99
|
|
00:03:14,800 --> 00:03:18,719
|
|
their peers
|
|
|
|
100
|
|
00:03:15,439 --> 00:03:22,158
|
|
in a hosted platform and since then
|
|
|
|
101
|
|
00:03:18,719 --> 00:03:24,158
|
|
obviously MISP has evolved and changed
|
|
|
|
102
|
|
00:03:22,158 --> 00:03:25,840
|
|
the scope of what we were nowadays doing
|
|
|
|
103
|
|
00:03:24,158 --> 00:03:26,798
|
|
with MISP and what sort of information
|
|
|
|
104
|
|
00:03:25,840 --> 00:03:28,640
|
|
we're sharing
|
|
|
|
105
|
|
00:03:26,799 --> 00:03:30,159
|
|
but it all started with this and since
|
|
|
|
106
|
|
00:03:28,639 --> 00:03:30,878
|
|
then it has been an ongoing effort
|
|
|
|
107
|
|
00:03:30,158 --> 00:03:33,199
|
|
basically by
|
|
|
|
108
|
|
00:03:30,878 --> 00:03:35,199
|
|
a large community of different
|
|
|
|
109
|
|
00:03:33,199 --> 00:03:37,359
|
|
requirements and different needs
|
|
|
|
110
|
|
00:03:35,199 --> 00:03:39,359
|
|
and that has been building both the
|
|
|
|
111
|
|
00:03:37,360 --> 00:03:42,159
|
|
ideas that go into MISP as well as the
|
|
|
|
112
|
|
00:03:39,360 --> 00:03:42,159
|
|
software itself
|
|
|
|
113
|
|
00:03:43,919 --> 00:03:47,839
|
|
next slide please
|
|
|
|
114
|
|
00:03:48,479 --> 00:03:51,919
|
|
yeah so what is the background and why
|
|
|
|
115
|
|
00:03:51,199 --> 00:03:53,839
|
|
we are doing
|
|
|
|
116
|
|
00:03:51,919 --> 00:03:56,79
|
|
MISP it uh I think like Andras
|
|
|
|
117
|
|
00:03:53,840 --> 00:03:56,640
|
|
mentioned it started from a with a kind
|
|
|
|
118
|
|
00:03:56,80 --> 00:03:59,40
|
|
of
|
|
|
|
119
|
|
00:03:56,639 --> 00:04:00,479
|
|
{inaudible} project for a small set of
|
|
|
|
120
|
|
00:03:59,39 --> 00:04:03,598
|
|
CIRCL
|
|
|
|
121
|
|
00:04:00,479 --> 00:04:04,959
|
|
CIRCL is nowadays
|
|
|
|
122
|
|
00:04:03,598 --> 00:04:07,359
|
|
the CERT for the private sector, the
|
|
|
|
123
|
|
00:04:04,959 --> 00:04:08,959
|
|
community {inaudible} in luxembourg
|
|
|
|
124
|
|
00:04:07,360 --> 00:04:11,200
|
|
and we basically deal with the
|
|
|
|
125
|
|
00:04:08,959 --> 00:04:12,158
|
|
development of MISP not only for our use
|
|
|
|
126
|
|
00:04:11,199 --> 00:04:15,359
|
|
case but for many
|
|
|
|
127
|
|
00:04:12,158 --> 00:04:18,319
|
|
different users so we are called as
|
|
|
|
128
|
|
00:04:15,360 --> 00:04:19,439
|
|
a CERT we basically operate the
|
|
|
|
129
|
|
00:04:18,319 --> 00:04:22,478
|
|
development and we operate
|
|
|
|
130
|
|
00:04:19,439 --> 00:04:22,478
|
|
{inaudible} communities
|
|
|
|
131
|
|
00:04:23,600 --> 00:04:26,960
|
|
so a little bit about our involvement
|
|
|
|
132
|
|
00:04:26,639 --> 00:04:28,478
|
|
and
|
|
|
|
133
|
|
00:04:26,959 --> 00:04:30,79
|
|
why we're doing this in the first place
|
|
|
|
134
|
|
00:04:28,478 --> 00:04:32,560
|
|
so we as CIRCL we're funded by the
|
|
|
|
135
|
|
00:04:30,79 --> 00:04:35,680
|
|
Ministry of Economy to basically build
|
|
|
|
136
|
|
00:04:32,560 --> 00:04:37,600
|
|
security for the private sector uh and a
|
|
|
|
137
|
|
00:04:35,680 --> 00:04:39,199
|
|
lot of what we do involves uh open
|
|
|
|
138
|
|
00:04:37,600 --> 00:04:39,840
|
|
source software development so we're
|
|
|
|
139
|
|
00:04:39,199 --> 00:04:42,160
|
|
basically
|
|
|
|
140
|
|
00:04:39,839 --> 00:04:44,79
|
|
the funding that we get for the uh for
|
|
|
|
141
|
|
00:04:42,160 --> 00:04:45,199
|
|
activities also cover our development
|
|
|
|
142
|
|
00:04:44,79 --> 00:04:47,918
|
|
focus
|
|
|
|
143
|
|
00:04:45,199 --> 00:04:49,360
|
|
we're also uh besides just building the
|
|
|
|
144
|
|
00:04:47,918 --> 00:04:50,159
|
|
tools like {inaudible} mentioned we're
|
|
|
|
145
|
|
00:04:49,360 --> 00:04:52,479
|
|
also
|
|
|
|
146
|
|
00:04:50,160 --> 00:04:53,919
|
|
basically involved in a lot of sharing
|
|
|
|
147
|
|
00:04:52,478 --> 00:04:55,839
|
|
activities as well as our day-to-day
|
|
|
|
148
|
|
00:04:53,918 --> 00:04:58,399
|
|
operations we're users of the
|
|
|
|
149
|
|
00:04:55,839 --> 00:05:00,478
|
|
tool primarily as well we basically host
|
|
|
|
150
|
|
00:04:58,399 --> 00:05:02,719
|
|
a bunch of different communities for the
|
|
|
|
151
|
|
00:05:00,478 --> 00:05:05,439
|
|
uh national C-Certs for the
|
|
|
|
152
|
|
00:05:02,720 --> 00:05:07,919
|
|
luxembourgish private sector community
|
|
|
|
153
|
|
00:05:05,439 --> 00:05:09,680
|
|
for law enforcement uh organizations
|
|
|
|
154
|
|
00:05:07,918 --> 00:05:10,959
|
|
financial institutions and so on and so
|
|
|
|
155
|
|
00:05:09,680 --> 00:05:14,319
|
|
forth
|
|
|
|
156
|
|
00:05:10,959 --> 00:05:16,239
|
|
so so we're kind of uh
|
|
|
|
157
|
|
00:05:14,319 --> 00:05:18,240
|
|
in the game on both sides so to say that
|
|
|
|
158
|
|
00:05:16,240 --> 00:05:21,120
|
|
both as a
|
|
|
|
159
|
|
00:05:18,240 --> 00:05:22,0
|
|
318.24 --> 322
|
|
producer and as a consumer, also and the
|
|
|
|
160
|
|
00:05:21,120 --> 00:05:24,79
|
|
project was
|
|
|
|
161
|
|
00:05:22,0 --> 00:05:25,759
|
|
322 --> 325.759
|
|
co-financed by the European Union
|
|
|
|
162
|
|
00:05:24,79 --> 00:05:29,120
|
|
under the CEF project
|
|
|
|
163
|
|
00:05:25,759 --> 00:05:30,400
|
|
uh so this is also one of the sources of
|
|
|
|
164
|
|
00:05:29,120 --> 00:05:33,120
|
|
the income that we got basically to
|
|
|
|
165
|
|
00:05:30,399 --> 00:05:34,560
|
|
build the tool and as a FIRST member you
|
|
|
|
166
|
|
00:05:33,120 --> 00:05:36,79
|
|
have access to a MISP instance that is
|
|
|
|
167
|
|
00:05:34,560 --> 00:05:38,478
|
|
operated and
|
|
|
|
168
|
|
00:05:36,79 --> 00:05:40,0
|
|
336.08 --> 340
|
|
co-maintained by FIRST and CIRCL that
|
|
|
|
169
|
|
00:05:38,478 --> 00:05:41,680
|
|
you can get access to
|
|
|
|
170
|
|
00:05:40,0 --> 00:05:43,519
|
|
340 --> 343.52
|
|
so you just need to to use your
|
|
|
|
171
|
|
00:05:41,680 --> 00:05:45,680
|
|
traditional credential or
|
|
|
|
172
|
|
00:05:43,519 --> 00:05:47,359
|
|
access at first and you get access to
|
|
|
|
173
|
|
00:05:45,680 --> 00:05:49,600
|
|
this instance with information
|
|
|
|
174
|
|
00:05:47,360 --> 00:05:51,439
|
|
that you can use and so on we will talk
|
|
|
|
175
|
|
00:05:49,600 --> 00:05:54,160
|
|
about that later on
|
|
|
|
176
|
|
00:05:51,439 --> 00:05:55,600
|
|
so the main question and I think it's
|
|
|
|
177
|
|
00:05:54,160 --> 00:05:58,80
|
|
coming from this story uh
|
|
|
|
178
|
|
00:05:55,600 --> 00:05:59,600
|
|
as Andras mentioned from the early days
|
|
|
|
179
|
|
00:05:58,79 --> 00:06:01,758
|
|
MISP was
|
|
|
|
180
|
|
00:05:59,600 --> 00:06:03,840
|
|
focusing from a very specific aspect
|
|
|
|
181
|
|
00:06:01,759 --> 00:06:07,120
|
|
which was malware reversing and so on
|
|
|
|
182
|
|
00:06:03,839 --> 00:06:08,799
|
|
nowadays it's a threat intelligence sharing platforms we
|
|
|
|
183
|
|
00:06:07,120 --> 00:06:11,38
|
|
are basically sharing any kind of
|
|
|
|
184
|
|
00:06:08,800 --> 00:06:13,38
|
|
intelligence through uh through MISP
|
|
|
|
185
|
|
00:06:11,38 --> 00:06:14,478
|
|
um because we had an evolution of the
|
|
|
|
186
|
|
00:06:13,38 --> 00:06:16,399
|
|
time for the different things so
|
|
|
|
187
|
|
00:06:14,478 --> 00:06:18,879
|
|
and our main goals and that's very
|
|
|
|
188
|
|
00:06:16,399 --> 00:06:21,439
|
|
important for us it's an open source
|
|
|
|
189
|
|
00:06:18,879 --> 00:06:23,120
|
|
software so that means MISP will always
|
|
|
|
190
|
|
00:06:21,439 --> 00:06:23,519
|
|
remain an open source project we even
|
|
|
|
191
|
|
00:06:23,120 --> 00:06:26,0
|
|
383.12 --> 386
|
|
take
|
|
|
|
192
|
|
00:06:23,519 --> 00:06:26,879
|
|
some decisions within the project to
|
|
|
|
193
|
|
00:06:26,0 --> 00:06:29,120
|
|
386 --> 389.12
|
|
keep it as
|
|
|
|
194
|
|
00:06:26,879 --> 00:06:30,639
|
|
open source and that's that's really a
|
|
|
|
195
|
|
00:06:29,120 --> 00:06:32,720
|
|
key for us so it's really uh
|
|
|
|
196
|
|
00:06:30,639 --> 00:06:34,800
|
|
something that you can download yourself
|
|
|
|
197
|
|
00:06:32,720 --> 00:06:37,39
|
|
run on your infrastructure and so on
|
|
|
|
198
|
|
00:06:34,800 --> 00:06:38,240
|
|
you can really have the full control on
|
|
|
|
199
|
|
00:06:37,38 --> 00:06:40,639
|
|
the software stack
|
|
|
|
200
|
|
00:06:38,240 --> 00:06:42,0
|
|
398.24 --> 402
|
|
when you are using MISP and one of the
|
|
|
|
201
|
|
00:06:40,639 --> 00:06:43,38
|
|
goals of the software itself is to
|
|
|
|
202
|
|
00:06:42,0 --> 00:06:46,240
|
|
402 --> 406.24
|
|
collect information
|
|
|
|
203
|
|
00:06:43,38 --> 00:06:48,159
|
|
from other partners, from in the {inaudible}
|
|
|
|
204
|
|
00:06:46,240 --> 00:06:49,280
|
|
from automatic tools from different
|
|
|
|
205
|
|
00:06:48,160 --> 00:06:50,800
|
|
fields and so on
|
|
|
|
206
|
|
00:06:49,279 --> 00:06:53,198
|
|
that was really one of the initial goal
|
|
|
|
207
|
|
00:06:50,800 --> 00:06:55,680
|
|
of MISP is like being able to collect
|
|
|
|
208
|
|
00:06:53,199 --> 00:06:57,360
|
|
to get all this information into
|
|
|
|
209
|
|
00:06:55,680 --> 00:06:59,38
|
|
one place
|
|
|
|
210
|
|
00:06:57,360 --> 00:07:00,560
|
|
and then afterwards what you can do with
|
|
|
|
211
|
|
00:06:59,38 --> 00:07:02,719
|
|
it is to normalize
|
|
|
|
212
|
|
00:07:00,560 --> 00:07:03,839
|
|
correlate this information, extend the
|
|
|
|
213
|
|
00:07:02,720 --> 00:07:06,560
|
|
information and enrich
|
|
|
|
214
|
|
00:07:03,839 --> 00:07:08,879
|
|
information with more information and then
|
|
|
|
216
|
|
00:07:07,199 --> 00:07:10,800
|
|
really benefit from the sharing aspect
|
|
|
|
217
|
|
00:07:08,879 --> 00:07:13,120
|
|
of MISP and you can allow
|
|
|
|
218
|
|
00:07:10,800 --> 00:07:13,840
|
|
teams and community to collaborate
|
|
|
|
219
|
|
00:07:13,120 --> 00:07:16,478
|
|
and we have
|
|
|
|
220
|
|
00:07:13,839 --> 00:07:18,318
|
|
seen MISP for example use not only
|
|
|
|
221
|
|
00:07:16,478 --> 00:07:20,159
|
|
within different organizations but even
|
|
|
|
222
|
|
00:07:18,319 --> 00:07:21,759
|
|
within a single organization you can, for
|
|
|
|
223
|
|
00:07:20,160 --> 00:07:24,240
|
|
example run multiple MISP
|
|
|
|
224
|
|
00:07:21,759 --> 00:07:25,120
|
|
to collaborate directly on different
|
|
|
|
225
|
|
00:07:24,240 --> 00:07:28,79
|
|
investigations
|
|
|
|
226
|
|
00:07:25,120 --> 00:07:29,519
|
|
incidents and cases and obviously when
|
|
|
|
227
|
|
00:07:28,79 --> 00:07:31,279
|
|
you have all this information and all
|
|
|
|
228
|
|
00:07:29,519 --> 00:07:33,758
|
|
these analytic platform into MISP
|
|
|
|
229
|
|
00:07:31,279 --> 00:07:34,638
|
|
you are ready to use this information to
|
|
|
|
230
|
|
00:07:33,759 --> 00:07:36,960
|
|
for example
|
|
|
|
231
|
|
00:07:34,639 --> 00:07:39,840
|
|
feed your automatic protective tools
|
|
|
|
232
|
|
00:07:36,959 --> 00:07:42,0
|
|
456.96 --> 462
|
|
like intrusion detection systems,
|
|
|
|
233
|
|
00:07:39,839 --> 00:07:43,279
|
|
firewalls whatever and to feed
|
|
|
|
234
|
|
00:07:42,0 --> 00:07:45,598
|
|
462 --> 465.599
|
|
automatically those
|
|
|
|
235
|
|
00:07:43,279 --> 00:07:46,799
|
|
information to basically make protective
|
|
|
|
236
|
|
00:07:45,598 --> 00:07:50,319
|
|
measures
|
|
|
|
237
|
|
00:07:46,800 --> 00:07:50,319
|
|
in your environment
|
|
|
|
238
|
|
00:07:51,199 --> 00:07:55,840
|
|
so, start from the starting point that we
|
|
|
|
239
|
|
00:07:54,478 --> 00:07:57,680
|
|
already mentioned basically how we
|
|
|
|
240
|
|
00:07:55,839 --> 00:08:00,638
|
|
started out with MISP
|
|
|
|
241
|
|
00:07:57,680 --> 00:08:02,800
|
|
let's have a quick look at how uh the
|
|
|
|
242
|
|
00:08:00,639 --> 00:08:04,400
|
|
user base of MISP evolved in terms of
|
|
|
|
243
|
|
00:08:02,800 --> 00:08:06,0
|
|
482.8 --> 486
|
|
the different types of stakeholders
|
|
|
|
244
|
|
00:08:04,399 --> 00:08:08,560
|
|
within our own organizations and other organizations
|
|
|
|
246
|
|
00:08:07,120 --> 00:08:10,319
|
|
the reason for that is obviously that
|
|
|
|
247
|
|
00:08:08,560 --> 00:08:12,560
|
|
this drives the development process as well
|
|
|
|
249
|
|
00:08:10,800 --> 00:08:14,400
|
|
so the way MISP grows over time really
|
|
|
|
250
|
|
00:08:12,560 --> 00:08:14,800
|
|
depends on the type of users that are using
|
|
|
|
252
|
|
00:08:16,478 --> 00:08:18,319
|
|
the type of users that are requesting new
|
|
|
|
253
|
|
00:08:16,478 --> 00:08:20,159
|
|
features or that are providing pull
|
|
|
|
254
|
|
00:08:18,319 --> 00:08:22,639
|
|
requests on the project and providing code
|
|
|
|
256
|
|
00:08:20,720 --> 00:08:23,759
|
|
for the project so I said before
|
|
|
|
257
|
|
00:08:22,639 --> 00:08:26,160
|
|
initially
|
|
|
|
258
|
|
00:08:23,759 --> 00:08:27,759
|
|
the scope of MISP was very limited it
|
|
|
|
259
|
|
00:08:26,160 --> 00:08:29,360
|
|
was basically just the output of malware
|
|
|
|
260
|
|
00:08:27,759 --> 00:08:31,199
|
|
reversers which meant
|
|
|
|
261
|
|
00:08:29,360 --> 00:08:32,479
|
|
raw indicators that we were extracting
|
|
|
|
262
|
|
00:08:31,199 --> 00:08:34,560
|
|
during the process and that we're
|
|
|
|
263
|
|
00:08:32,479 --> 00:08:36,639
|
|
sharing directly
|
|
|
|
264
|
|
00:08:34,559 --> 00:08:38,79
|
|
with our partners, this meant very little
|
|
|
|
265
|
|
00:08:36,639 --> 00:08:39,519
|
|
analysis was done on each of these
|
|
|
|
266
|
|
00:08:38,80 --> 00:08:41,599
|
|
individual indicators there was very
|
|
|
|
267
|
|
00:08:39,519 --> 00:08:43,440
|
|
little information in terms of
|
|
|
|
268
|
|
00:08:41,599 --> 00:08:45,200
|
|
of why those data points are relevant in
|
|
|
|
269
|
|
00:08:43,440 --> 00:08:47,360
|
|
the long term how they are meant to be used
|
|
|
|
271
|
|
00:08:45,759 --> 00:08:49,519
|
|
from detection perspective they were
|
|
|
|
272
|
|
00:08:47,360 --> 00:08:52,480
|
|
really just the raw output
|
|
|
|
273
|
|
00:08:49,519 --> 00:08:54,0
|
|
529.519 --> 534
|
|
from the analysis process or the
|
|
|
|
274
|
|
00:08:52,480 --> 00:08:56,80
|
|
reversing process
|
|
|
|
275
|
|
00:08:54,0 --> 00:08:57,519
|
|
534 --> 537.519
|
|
now one of the side effects of this when
|
|
|
|
276
|
|
00:08:56,80 --> 00:08:59,440
|
|
you start building a collection within
|
|
|
|
277
|
|
00:08:57,519 --> 00:09:01,360
|
|
your organization of this information
|
|
|
|
278
|
|
00:08:59,440 --> 00:09:02,880
|
|
the security analysts are feeding your
|
|
|
|
279
|
|
00:09:01,360 --> 00:09:04,320
|
|
various protective tools become
|
|
|
|
280
|
|
00:09:02,879 --> 00:09:05,838
|
|
interested in that data set
|
|
|
|
281
|
|
00:09:04,320 --> 00:09:08,0
|
|
544.32 --> 548
|
|
because obviously whatever is targeting
|
|
|
|
282
|
|
00:09:05,839 --> 00:09:10,160
|
|
your organization or your direct peers
|
|
|
|
283
|
|
00:09:08,0 --> 00:09:11,360
|
|
548 --> 551.36
|
|
are probably the most relevant piece of
|
|
|
|
284
|
|
00:09:10,159 --> 00:09:13,39
|
|
information that you can use for
|
|
|
|
285
|
|
00:09:11,360 --> 00:09:16,159
|
|
detection
|
|
|
|
286
|
|
00:09:13,39 --> 00:09:19,39
|
|
so one of the first steps that we opened
|
|
|
|
288
|
|
00:09:16,958 --> 00:09:20,479
|
|
up to was basically involving our own
|
|
|
|
289
|
|
00:09:19,39 --> 00:09:23,278
|
|
security analyst with our
|
|
|
|
290
|
|
00:09:20,480 --> 00:09:24,320
|
|
own organizations so they can hook
|
|
|
|
291
|
|
00:09:23,278 --> 00:09:27,360
|
|
the output of
|
|
|
|
292
|
|
00:09:24,320 --> 00:09:30,80
|
|
of the reverse engineering team
|
|
|
|
293
|
|
00:09:27,360 --> 00:09:31,360
|
|
up to their SIEMs to their IDSs to
|
|
|
|
294
|
|
00:09:30,80 --> 00:09:33,360
|
|
their firewalls
|
|
|
|
295
|
|
00:09:31,360 --> 00:09:35,440
|
|
and to feed this data directly into
|
|
|
|
296
|
|
00:09:33,360 --> 00:09:36,720
|
|
their protective measures
|
|
|
|
297
|
|
00:09:35,440 --> 00:09:38,720
|
|
now one of the interesting things when
|
|
|
|
298
|
|
00:09:36,720 --> 00:09:40,800
|
|
you start doing that though is that you
|
|
|
|
299
|
|
00:09:38,720 --> 00:09:42,560
|
|
generate a new type of output which is
|
|
|
|
300
|
|
00:09:40,799 --> 00:09:44,559
|
|
timeliness for the data, freshness for
|
|
|
|
301
|
|
00:09:42,559 --> 00:09:45,838
|
|
the data as well as feedback on how
|
|
|
|
302
|
|
00:09:44,559 --> 00:09:47,838
|
|
useful the data was
|
|
|
|
303
|
|
00:09:45,839 --> 00:09:50,240
|
|
so we're very often when you're
|
|
|
|
304
|
|
00:09:47,839 --> 00:09:53,40
|
|
extracting information
|
|
|
|
305
|
|
00:09:50,240 --> 00:09:55,360
|
|
by sandboxing for example a lot of the
|
|
|
|
306
|
|
00:09:53,39 --> 00:09:57,679
|
|
data generated will be noise in the end
|
|
|
|
307
|
|
00:09:55,360 --> 00:09:59,759
|
|
and this noise will generate false
|
|
|
|
308
|
|
00:09:57,679 --> 00:10:02,159
|
|
positive alerts for example
|
|
|
|
309
|
|
00:09:59,759 --> 00:10:04,319
|
|
in your detection tools. Now feeding this
|
|
|
|
310
|
|
00:10:02,159 --> 00:10:06,559
|
|
information back
|
|
|
|
311
|
|
00:10:04,320 --> 00:10:10,559
|
|
to data gave it a whole new type of value
|
|
|
|
313
|
|
00:10:07,519 --> 00:10:12,159
|
|
we had freshness so if an older
|
|
|
|
314
|
|
00:10:10,559 --> 00:10:14,159
|
|
indicator was reused
|
|
|
|
315
|
|
00:10:12,159 --> 00:10:15,439
|
|
over time we saw that that is still
|
|
|
|
316
|
|
00:10:14,159 --> 00:10:18,160
|
|
something that is actively to be monitored
|
|
|
|
318
|
|
00:10:16,559 --> 00:10:19,838
|
|
and if we saw that something turned out
|
|
|
|
319
|
|
00:10:18,159 --> 00:10:21,199
|
|
to be a cleaned up host
|
|
|
|
320
|
|
00:10:19,839 --> 00:10:23,440
|
|
in the meanwhile or something was a
|
|
|
|
321
|
|
00:10:21,200 --> 00:10:25,200
|
|
false positive from the get-go
|
|
|
|
322
|
|
00:10:23,440 --> 00:10:28,399
|
|
we could feed that information back as well
|
|
|
|
324
|
|
00:10:27,399 --> 00:10:31,759
|
|
so suddenly once you have timeliness as
|
|
|
|
325
|
|
00:10:28,399 --> 00:10:33,759
|
|
well as the the raw data itself
|
|
|
|
326
|
|
00:10:31,759 --> 00:10:35,278
|
|
you get the intelligence analyst
|
|
|
|
327
|
|
00:10:33,759 --> 00:10:36,399
|
|
interested that are tracking the
|
|
|
|
328
|
|
00:10:35,278 --> 00:10:42,0
|
|
movements and the changes of how attackers operate
|
|
|
|
330
|
|
00:10:39,519 --> 00:10:42,639
|
|
uh over time so that means that usually
|
|
|
|
332
|
|
00:10:45,360 --> 00:10:47,199
|
|
back then especially in 2012 in most of our
|
|
|
|
333
|
|
00:10:45,360 --> 00:10:48,560
|
|
organizations the people that are doing
|
|
|
|
334
|
|
00:10:47,200 --> 00:10:50,560
|
|
intelligence and the people that were
|
|
|
|
335
|
|
00:10:48,559 --> 00:10:52,239
|
|
doing operations and security for the
|
|
|
|
336
|
|
00:10:50,559 --> 00:10:55,680
|
|
operations were usually working in their own silos
|
|
|
|
338
|
|
00:10:53,440 --> 00:10:57,40
|
|
so while there was obviously interaction
|
|
|
|
339
|
|
00:10:55,679 --> 00:10:58,958
|
|
between the teams, it was not as
|
|
|
|
340
|
|
00:10:57,39 --> 00:11:01,919
|
|
ingrained to work together
|
|
|
|
341
|
|
00:10:58,958 --> 00:11:03,599
|
|
between those type of roles but this
|
|
|
|
342
|
|
00:11:01,919 --> 00:11:04,0
|
|
661.92 --> 664
|
|
changed over time and one of the changes
|
|
|
|
344
|
|
00:11:04,0 --> 00:11:08,78
|
|
664 --> 668.079
|
|
that we saw happened was that the output
|
|
|
|
345
|
|
00:11:06,240 --> 00:11:10,240
|
|
of what the security analysts
|
|
|
|
346
|
|
00:11:08,78 --> 00:11:12,159
|
|
and the reversers and the analysts were
|
|
|
|
347
|
|
00:11:10,240 --> 00:11:14,480
|
|
outputting basically from the operation side
|
|
|
|
349
|
|
00:11:12,879 --> 00:11:16,399
|
|
became more and more interesting for the
|
|
|
|
350
|
|
00:11:14,480 --> 00:11:17,839
|
|
intelligence analysts that meant that
|
|
|
|
351
|
|
00:11:16,399 --> 00:11:19,919
|
|
if they were tracking a certain threat
|
|
|
|
352
|
|
00:11:17,839 --> 00:11:21,600
|
|
actor and they could attribute certain
|
|
|
|
353
|
|
00:11:19,919 --> 00:11:23,439
|
|
actions that they were seen in the
|
|
|
|
354
|
|
00:11:21,600 --> 00:11:25,519
|
|
network of the organization
|
|
|
|
355
|
|
00:11:23,440 --> 00:11:26,959
|
|
to the certain threat actor they could
|
|
|
|
356
|
|
00:11:25,519 --> 00:11:29,278
|
|
monitor for example how
|
|
|
|
357
|
|
00:11:26,958 --> 00:11:30,879
|
|
the given actor was changing how fast
|
|
|
|
358
|
|
00:11:29,278 --> 00:11:32,78
|
|
they were changing infrastructure
|
|
|
|
359
|
|
00:11:30,879 --> 00:11:34,0
|
|
690.88 --> 694
|
|
whether they were switching up their
|
|
|
|
360
|
|
00:11:32,78 --> 00:11:36,78
|
|
methodology and this
|
|
|
|
361
|
|
00:11:34,0 --> 00:11:37,519
|
|
694 --> 697.519
|
|
gave them a lot of idea of useful data
|
|
|
|
362
|
|
00:11:36,78 --> 00:11:39,199
|
|
of improving their libraries of the
|
|
|
|
363
|
|
00:11:37,519 --> 00:11:40,799
|
|
threat actors that they were tracking
|
|
|
|
364
|
|
00:11:39,200 --> 00:11:41,920
|
|
so suddenly we got this group interests
|
|
|
|
365
|
|
00:11:40,799 --> 00:11:43,838
|
|
as well and they were obviously
|
|
|
|
366
|
|
00:11:41,919 --> 00:11:44,879
|
|
producing data as well so nowadays if
|
|
|
|
367
|
|
00:11:43,839 --> 00:11:47,279
|
|
you look at MISP
|
|
|
|
368
|
|
00:11:44,879 --> 00:11:49,200
|
|
going from a raw indicator sharing platform
|
|
|
|
369
|
|
00:11:47,278 --> 00:11:50,399
|
|
that MISP was initially
|
|
|
|
370
|
|
00:11:49,200 --> 00:11:52,160
|
|
nowadays you have a lot of the high
|
|
|
|
371
|
|
00:11:50,399 --> 00:11:53,759
|
|
level threat intel information included
|
|
|
|
372
|
|
00:11:52,159 --> 00:11:56,720
|
|
with the data as well so you will see threat reports
|
|
|
|
374
|
|
00:11:54,879 --> 00:11:58,720
|
|
you will see interconnected information
|
|
|
|
375
|
|
00:11:56,720 --> 00:12:04,399
|
|
about threat actors modus operandi
|
|
|
|
377
|
|
00:12:01,839 --> 00:12:06,79
|
|
infrastructure impact and so on so forth
|
|
|
|
378
|
|
00:12:04,399 --> 00:12:07,360
|
|
these extra layers of information that
|
|
|
|
379
|
|
00:12:06,78 --> 00:12:08,719
|
|
we were missing initially
|
|
|
|
380
|
|
00:12:07,360 --> 00:12:10,0
|
|
727.36 --> 730
|
|
so this was the biggest change that we
|
|
|
|
381
|
|
00:12:08,720 --> 00:12:11,440
|
|
had over time within our own
|
|
|
|
382
|
|
00:12:10,0 --> 00:12:13,919
|
|
730 --> 733.92
|
|
organizations but
|
|
|
|
383
|
|
00:12:11,440 --> 00:12:15,519
|
|
obviously as a CSIRT that has
|
|
|
|
384
|
|
00:12:13,919 --> 00:12:17,199
|
|
different constituencies
|
|
|
|
385
|
|
00:12:15,519 --> 00:12:18,799
|
|
we're also interacting with the security
|
|
|
|
386
|
|
00:12:17,200 --> 00:12:20,720
|
|
teams of other organizations and one of
|
|
|
|
387
|
|
00:12:18,799 --> 00:12:22,319
|
|
the things we noticed early on was
|
|
|
|
388
|
|
00:12:20,720 --> 00:12:24,160
|
|
there's a lot of the issues that other
|
|
|
|
389
|
|
00:12:22,320 --> 00:12:25,600
|
|
types of organizations had internally
|
|
|
|
390
|
|
00:12:24,159 --> 00:12:28,800
|
|
with information sharing are very similar to ours
|
|
|
|
392
|
|
00:12:26,879 --> 00:12:30,958
|
|
so initially the first use case that we
|
|
|
|
393
|
|
00:12:28,799 --> 00:12:32,799
|
|
got that was different and from our
|
|
|
|
394
|
|
00:12:30,958 --> 00:12:36,719
|
|
normal security use case
|
|
|
|
395
|
|
00:12:32,799 --> 00:12:38,399
|
|
was basically the various financial
|
|
|
|
396
|
|
00:12:36,720 --> 00:12:39,920
|
|
organizations reaching out to us saying
|
|
|
|
397
|
|
00:12:38,399 --> 00:12:41,759
|
|
that their fraud teams were
|
|
|
|
398
|
|
00:12:39,919 --> 00:12:43,599
|
|
running into similar sort of issues with
|
|
|
|
399
|
|
00:12:41,759 --> 00:12:45,759
|
|
sharing between their teams,
|
|
|
|
400
|
|
00:12:43,600 --> 00:12:47,839
|
|
sharing with other partner teams,
|
|
|
|
401
|
|
00:12:45,759 --> 00:12:50,319
|
|
information about mule accounts and
|
|
|
|
402
|
|
00:12:47,839 --> 00:12:51,519
|
|
about other fraud related information
|
|
|
|
403
|
|
00:12:50,320 --> 00:12:53,680
|
|
so they reached out to us and
|
|
|
|
404
|
|
00:12:51,519 --> 00:12:54,480
|
|
basically their security teams reached
|
|
|
|
405
|
|
00:12:53,679 --> 00:12:57,199
|
|
out to us and said
|
|
|
|
406
|
|
00:12:54,480 --> 00:12:58,639
|
|
can't we just try to help them also
|
|
|
|
407
|
|
00:12:57,200 --> 00:13:00,0
|
|
777.2 --> 780
|
|
to share that sort of information
|
|
|
|
408
|
|
00:12:58,639 --> 00:13:01,759
|
|
through MISP directly, I mean we already
|
|
|
|
409
|
|
00:13:00,0 --> 00:13:03,200
|
|
780 --> 783.2
|
|
had the tooling in place
|
|
|
|
410
|
|
00:13:01,759 --> 00:13:05,200
|
|
it was just a question of changing the data model
|
|
|
|
412
|
|
00:13:05,200 --> 00:13:08,639
|
|
so we we started doing that for uh together
|
|
|
|
413
|
|
00:13:07,120 --> 00:13:10,480
|
|
with the financial sector initially
|
|
|
|
414
|
|
00:13:08,639 --> 00:13:12,0
|
|
788.639 --> 792
|
|
where we expanded the data model of MISP
|
|
|
|
415
|
|
00:13:10,480 --> 00:13:13,519
|
|
when we allowed for modeling of new
|
|
|
|
416
|
|
00:13:12,0 --> 00:13:15,919
|
|
792 --> 795.92
|
|
custom data types
|
|
|
|
417
|
|
00:13:13,519 --> 00:13:17,679
|
|
and it's even surprising to us at the
|
|
|
|
418
|
|
00:13:15,919 --> 00:13:20,319
|
|
time turned into a success
|
|
|
|
419
|
|
00:13:17,679 --> 00:13:21,599
|
|
very rapidly so nowadays we're involved
|
|
|
|
420
|
|
00:13:20,320 --> 00:13:22,959
|
|
with quite a few different types of
|
|
|
|
421
|
|
00:13:21,600 --> 00:13:25,519
|
|
organizations out there
|
|
|
|
422
|
|
00:13:22,958 --> 00:13:26,879
|
|
replicating the same scenario where for
|
|
|
|
423
|
|
00:13:25,519 --> 00:13:30,320
|
|
example law enforcement, where we initially had
|
|
|
|
425
|
|
00:13:28,320 --> 00:13:32,79
|
|
mostly contact with their security teams
|
|
|
|
426
|
|
00:13:30,320 --> 00:13:36,240
|
|
and helping them build data sets for bootstrapping their forensic
|
|
|
|
429
|
|
00:13:34,399 --> 00:13:38,480
|
|
investigations nowadays we have all
|
|
|
|
430
|
|
00:13:36,240 --> 00:13:40,959
|
|
sorts of information sharing involving
|
|
|
|
431
|
|
00:13:38,480 --> 00:13:45,278
|
|
uh for example uh seized goods information sharing from
|
|
|
|
433
|
|
00:13:42,639 --> 00:13:48,799
|
|
border control agencies uh law enforcement agencies
|
|
|
|
435
|
|
00:13:46,879 --> 00:13:51,120
|
|
sharing information about passenger information
|
|
|
|
436
|
|
00:13:48,799 --> 00:13:53,359
|
|
so a lot of the type of data
|
|
|
|
437
|
|
00:13:51,120 --> 00:13:55,360
|
|
sharing that was very unusual for us as
|
|
|
|
438
|
|
00:13:53,360 --> 00:13:58,79
|
|
a CSIRT initially
|
|
|
|
439
|
|
00:13:55,360 --> 00:13:58,879
|
|
now once you get all this data in a
|
|
|
|
440
|
|
00:13:58,78 --> 00:14:01,39
|
|
system and you
|
|
|
|
441
|
|
00:13:58,879 --> 00:14:04,399
|
|
started building a data set from your community
|
|
|
|
443
|
|
00:14:02,480 --> 00:14:06,79
|
|
you start to see trends in the data set
|
|
|
|
444
|
|
00:14:04,399 --> 00:14:07,839
|
|
and this is what gets
|
|
|
|
445
|
|
00:14:06,78 --> 00:14:09,759
|
|
for example our risk analysis team
|
|
|
|
446
|
|
00:14:07,839 --> 00:14:11,440
|
|
interested in it the moment that you're
|
|
|
|
447
|
|
00:14:09,759 --> 00:14:12,639
|
|
seeing how attackers are changing their
|
|
|
|
448
|
|
00:14:11,440 --> 00:14:15,199
|
|
trends over time
|
|
|
|
449
|
|
00:14:12,639 --> 00:14:18,719
|
|
you can better advise your constituency your customers and so on
|
|
|
|
451
|
|
00:14:17,360 --> 00:14:22,160
|
|
about the different risks that they might be facing and the
|
|
|
|
453
|
|
00:14:20,958 --> 00:14:24,879
|
|
different risks that they should be preparing for
|
|
|
|
455
|
|
00:14:23,278 --> 00:14:26,958
|
|
and preparing the organizations for
|
|
|
|
456
|
|
00:14:24,879 --> 00:14:29,519
|
|
based on what the same sector is facing
|
|
|
|
457
|
|
00:14:26,958 --> 00:14:31,359
|
|
perhaps in the same geographic location
|
|
|
|
458
|
|
00:14:29,519 --> 00:14:33,120
|
|
so suddenly you get a lot of knowledge
|
|
|
|
459
|
|
00:14:31,360 --> 00:14:35,120
|
|
out of the collected data as long as
|
|
|
|
460
|
|
00:14:33,120 --> 00:14:36,720
|
|
data is well contextualized and I think
|
|
|
|
461
|
|
00:14:35,120 --> 00:14:38,78
|
|
this will be one of the main topics that
|
|
|
|
462
|
|
00:14:36,720 --> 00:14:41,519
|
|
we're going to be talking about quite a bit today and tomorrow
|
|
|
|
464
|
|
00:14:39,679 --> 00:14:43,599
|
|
is contextualizing the information and
|
|
|
|
465
|
|
00:14:41,519 --> 00:14:47,600
|
|
making the information actually usable
|
|
|
|
466
|
|
00:14:43,600 --> 00:14:47,600
|
|
and turning data really into knowledge
|
|
|
|
467
|
|
00:14:49,600 --> 00:14:55,40
|
|
yeah so like Andras mentioned
|
|
|
|
468
|
|
00:14:52,639 --> 00:14:56,240
|
|
we have a pretty large set of different
|
|
|
|
469
|
|
00:14:55,39 --> 00:15:00,0
|
|
895.04 --> 900
|
|
communities using MISP
|
|
|
|
470
|
|
00:14:56,240 --> 00:15:02,159
|
|
and over the time it became I think more
|
|
|
|
471
|
|
00:15:00,0 --> 00:15:03,759
|
|
900 --> 903.76
|
|
complicated to handle all those requests
|
|
|
|
472
|
|
00:15:02,159 --> 00:15:07,120
|
|
from different organizations
|
|
|
|
473
|
|
00:15:03,759 --> 00:15:10,0
|
|
903.76 --> 910
|
|
um so we came with a model of governance
|
|
|
|
474
|
|
00:15:07,120 --> 00:15:12,240
|
|
even if it's a very lightweight one we
|
|
|
|
475
|
|
00:15:10,0 --> 00:15:13,839
|
|
910 --> 913.839
|
|
decided to have this kind of models to
|
|
|
|
476
|
|
00:15:12,240 --> 00:15:15,680
|
|
still benefit from the open source
|
|
|
|
477
|
|
00:15:13,839 --> 00:15:17,199
|
|
community model and then
|
|
|
|
478
|
|
00:15:15,679 --> 00:15:19,278
|
|
bring all the experience from a
|
|
|
|
479
|
|
00:15:17,198 --> 00:15:21,198
|
|
different community into systems where
|
|
|
|
480
|
|
00:15:19,278 --> 00:15:22,720
|
|
it allows us to develop and extend the
|
|
|
|
481
|
|
00:15:21,198 --> 00:15:24,958
|
|
software so we decided to
|
|
|
|
482
|
|
00:15:22,720 --> 00:15:26,240
|
|
create this kind of models where we
|
|
|
|
483
|
|
00:15:24,958 --> 00:15:28,879
|
|
basically
|
|
|
|
484
|
|
00:15:26,240 --> 00:15:30,320
|
|
take care of all the features and
|
|
|
|
485
|
|
00:15:28,879 --> 00:15:33,679
|
|
requests that we receive from different organizations
|
|
|
|
487
|
|
00:15:31,679 --> 00:15:36,599
|
|
so we use this kind of priority list of different features
|
|
|
|
489
|
|
00:15:35,600 --> 00:15:38,720
|
|
and we get that feedback from {inaudible}
|
|
|
|
491
|
|
00:15:38,720 --> 00:15:42,879
|
|
one of the {inaudible} one I would say is
|
|
|
|
492
|
|
00:15:40,639 --> 00:15:44,480
|
|
Github so we get the feed from
|
|
|
|
493
|
|
00:15:42,879 --> 00:15:46,399
|
|
the different issue that we receive from
|
|
|
|
494
|
|
00:15:44,480 --> 00:15:48,639
|
|
Github I mean on the if you look at on
|
|
|
|
495
|
|
00:15:46,399 --> 00:15:50,320
|
|
Github you'll see that we have a
|
|
|
|
496
|
|
00:15:48,639 --> 00:15:52,320
|
|
significant number of issues and those
|
|
|
|
497
|
|
00:15:50,320 --> 00:15:54,800
|
|
issue are usually for us a way to track down
|
|
|
|
499
|
|
00:15:52,799 --> 00:15:56,879
|
|
all the different requests of features
|
|
|
|
500
|
|
00:15:54,639 --> 00:15:59,120
|
|
in MISP and that's one way to get it.
|
|
|
|
501
|
|
00:15:56,879 --> 00:16:02,639
|
|
Another way and this one is a quite a common one
|
|
|
|
503
|
|
00:16:00,639 --> 00:16:05,39
|
|
is basically a training or session like
|
|
|
|
504
|
|
00:16:02,399 --> 00:16:06,799
|
|
this where people are providing feedback,
|
|
|
|
505
|
|
00:16:05,39 --> 00:16:09,39
|
|
bug reports, future requests and so on
|
|
|
|
506
|
|
00:16:06,799 --> 00:16:10,879
|
|
directly during the training and for us
|
|
|
|
507
|
|
00:16:09,39 --> 00:16:12,958
|
|
uh I think really practical and we can
|
|
|
|
508
|
|
00:16:10,879 --> 00:16:15,39
|
|
get all this information needed for us
|
|
|
|
509
|
|
00:16:12,958 --> 00:16:16,0
|
|
972.959 --> 976
|
|
to improve the software. Another thing
|
|
|
|
510
|
|
00:16:15,39 --> 00:16:17,759
|
|
that we do and
|
|
|
|
511
|
|
00:16:16,0 --> 00:16:19,839
|
|
976 --> 979.839
|
|
that's maybe for the audience some
|
|
|
|
512
|
|
00:16:17,759 --> 00:16:21,39
|
|
people are interested in that one
|
|
|
|
513
|
|
00:16:19,839 --> 00:16:22,560
|
|
we know that there are plenty of
|
|
|
|
514
|
|
00:16:21,39 --> 00:16:24,399
|
|
different MISP of groups that we don't
|
|
|
|
515
|
|
00:16:22,559 --> 00:16:28,319
|
|
control and that we don't manage that's
|
|
|
|
516
|
|
00:16:24,399 --> 00:16:29,679
|
|
great we have for example ISACs, ISAO
|
|
|
|
517
|
|
00:16:28,320 --> 00:16:31,360
|
|
doing really those kind of things where
|
|
|
|
518
|
|
00:16:29,679 --> 00:16:33,838
|
|
you have those kind of user groups
|
|
|
|
519
|
|
00:16:31,360 --> 00:16:35,600
|
|
and what we do we participate on a
|
|
|
|
520
|
|
00:16:33,839 --> 00:16:37,279
|
|
regular basis to one of those groups for
|
|
|
|
521
|
|
00:16:35,600 --> 00:16:39,0
|
|
995.6 --> 998
|
|
example on a quarterly basis on a yearly basis
|
|
|
|
523
|
|
00:16:38,0 --> 00:16:41,759
|
|
998 --> 1001.759
|
|
and we do a collection of requirements
|
|
|
|
524
|
|
00:16:40,240 --> 00:16:44,240
|
|
from those different groups
|
|
|
|
525
|
|
00:16:41,759 --> 00:16:46,720
|
|
during one session and that's really
|
|
|
|
527
|
|
00:16:44,958 --> 00:16:48,799
|
|
i think useful for us because it's a way
|
|
|
|
528
|
|
00:16:46,720 --> 00:16:50,720
|
|
to to gather information so for example
|
|
|
|
529
|
|
00:16:48,799 --> 00:16:52,78
|
|
Andras mentioned those
|
|
|
|
530
|
|
00:16:50,720 --> 00:16:53,519
|
|
financial groups where people are
|
|
|
|
531
|
|
00:16:52,78 --> 00:16:54,559
|
|
sharing information about bank account
|
|
|
|
532
|
|
00:16:53,519 --> 00:16:56,480
|
|
detail and so on
|
|
|
|
533
|
|
00:16:54,559 --> 00:16:57,919
|
|
and that's where we basically gather all
|
|
|
|
534
|
|
00:16:56,480 --> 00:16:59,278
|
|
those requirements
|
|
|
|
535
|
|
00:16:57,919 --> 00:17:01,39
|
|
so if you are setting up a group
|
|
|
|
536
|
|
00:16:59,278 --> 00:17:03,278
|
|
somewhere in US or
|
|
|
|
537
|
|
00:17:01,39 --> 00:17:04,318
|
|
in the world about sharing information
|
|
|
|
538
|
|
00:17:03,278 --> 00:17:06,0
|
|
1023.279 --> 1026
|
|
and so on and you want to
|
|
|
|
539
|
|
00:17:04,318 --> 00:17:07,759
|
|
invite us at some point in time it's a
|
|
|
|
540
|
|
00:17:06,0 --> 00:17:12,160
|
|
1026 --> 1028.959
|
|
way for us to gather those kind of requirements
|
|
|
|
542
|
|
00:17:08,959 --> 00:17:13,759
|
|
we do a summit which is a yearly event
|
|
|
|
543
|
|
00:17:12,160 --> 00:17:15,600
|
|
usually it was physical but nowadays
|
|
|
|
544
|
|
00:17:13,759 --> 00:17:18,0
|
|
1033.76 --> 1038
|
|
it's virtual trainings
|
|
|
|
545
|
|
00:17:15,599 --> 00:17:19,918
|
|
so it's basically every user or
|
|
|
|
546
|
|
00:17:18,0 --> 00:17:21,199
|
|
1038 --> 1041.199
|
|
organizations using MISP presenting what
|
|
|
|
547
|
|
00:17:19,919 --> 00:17:22,959
|
|
they are doing
|
|
|
|
548
|
|
00:17:21,199 --> 00:17:24,558
|
|
it's a way for us to to see the
|
|
|
|
549
|
|
00:17:22,959 --> 00:17:26,480
|
|
interactions and see what
|
|
|
|
550
|
|
00:17:24,558 --> 00:17:28,480
|
|
can be improved in MISP and see {inaudible}
|
|
|
|
551
|
|
00:17:26,480 --> 00:17:29,759
|
|
in the community behind
|
|
|
|
552
|
|
00:17:28,480 --> 00:17:31,839
|
|
and then we have a kind of 20%
|
|
|
|
553
|
|
00:17:29,759 --> 00:17:35,200
|
|
project around in MISP
|
|
|
|
554
|
|
00:17:31,839 --> 00:17:38,558
|
|
1051.84 --> 1056
|
|
where we design new functionalities and we test
|
|
|
|
556
|
|
00:17:36,0 --> 00:17:39,919
|
|
1056 --> 1059.919
|
|
them out for example one of those is the
|
|
|
|
557
|
|
00:17:38,558 --> 00:17:41,200
|
|
detailing of indicators
|
|
|
|
558
|
|
00:17:39,919 --> 00:17:42,400
|
|
which was a request from different
|
|
|
|
559
|
|
00:17:41,200 --> 00:17:43,919
|
|
organizations but it was kind of
|
|
|
|
560
|
|
00:17:42,400 --> 00:17:45,919
|
|
difficult to design
|
|
|
|
561
|
|
00:17:43,919 --> 00:17:48,240
|
|
and with this kind of models where we
|
|
|
|
562
|
|
00:17:45,919 --> 00:17:50,480
|
|
designed first as a kind of prototype
|
|
|
|
563
|
|
00:17:48,240 --> 00:17:52,558
|
|
multiple iterations uh we did a multiple
|
|
|
|
564
|
|
00:17:50,480 --> 00:17:56,0
|
|
1070.48 --> 1076
|
|
research paper on that and then finally
|
|
|
|
565
|
|
00:17:52,558 --> 00:17:57,918
|
|
this become part of the MISP core software
|
|
|
|
566
|
|
00:17:56,0 --> 00:17:59,679
|
|
1076 --> 1079.679
|
|
we will show that later on but so we
|
|
|
|
567
|
|
00:17:57,919 --> 00:18:01,679
|
|
have a lightweight governance model
|
|
|
|
568
|
|
00:17:59,679 --> 00:18:03,840
|
|
but really the goal is to gather as
|
|
|
|
569
|
|
00:18:01,679 --> 00:18:05,280
|
|
much feedback from the user so don't
|
|
|
|
570
|
|
00:18:03,839 --> 00:18:08,599
|
|
hesitate if you have any bug reports, ideas and so on
|
|
|
|
571
|
|
00:18:05,279 --> 00:18:09,319
|
|
either open an issue,
|
|
|
|
573
|
|
00:18:08,319 --> 00:18:11,918
|
|
get in touch with us.
|
|
|
|
575
|
|
00:18:11,919 --> 00:18:16,400
|
|
You are more than welcome to basically
|
|
|
|
576
|
|
00:18:13,279 --> 00:18:16,399
|
|
share such kind of information.
|
|
|
|
577
|
|
00:18:17,119 --> 00:18:22,719
|
|
Yeah, now addressing the elephant in the room
|
|
|
|
579
|
|
00:18:20,720 --> 00:18:24,160
|
|
when you bring so many different
|
|
|
|
580
|
|
00:18:22,160 --> 00:18:25,759
|
|
organizations together and build a large
|
|
|
|
581
|
|
00:18:24,160 --> 00:18:27,200
|
|
community of sharing with different
|
|
|
|
582
|
|
00:18:25,759 --> 00:18:28,558
|
|
needs and requirements
|
|
|
|
583
|
|
00:18:27,200 --> 00:18:31,200
|
|
you're obviously going to have to run
|
|
|
|
584
|
|
00:18:28,558 --> 00:18:32,720
|
|
into conflicting requirements as well
|
|
|
|
585
|
|
00:18:31,200 --> 00:18:34,240
|
|
so one of the most obvious ones that
|
|
|
|
586
|
|
00:18:32,720 --> 00:18:36,640
|
|
that we're dealing with very often with
|
|
|
|
587
|
|
00:18:34,240 --> 00:18:38,720
|
|
information sharing and something that
|
|
|
|
588
|
|
00:18:36,640 --> 00:18:39,840
|
|
that we're working on tackling ,
|
|
|
|
590
|
|
00:18:38,839 --> 00:18:43,599
|
|
basically since we started with MISP, is dealing
|
|
|
|
591
|
|
00:18:42,79 --> 00:18:45,279
|
|
with a different requirement of
|
|
|
|
592
|
|
00:18:43,599 --> 00:18:46,879
|
|
of what you count as valuable
|
|
|
|
593
|
|
00:18:45,279 --> 00:18:47,519
|
|
information depending on your use case
|
|
|
|
594
|
|
00:18:46,880 --> 00:18:51,599
|
|
so this is different also within
|
|
|
|
596
|
|
00:18:50,400 --> 00:18:53,360
|
|
different analysts, different roles
|
|
|
|
597
|
|
00:18:51,599 --> 00:18:56,79
|
|
within the same organization as
|
|
|
|
598
|
|
00:18:53,359 --> 00:18:58,720
|
|
well so for example, for us as a CSIRT in general
|
|
|
|
600
|
|
00:18:57,38 --> 00:19:00,240
|
|
uh detection is the most important
|
|
|
|
601
|
|
00:18:58,720 --> 00:19:04,640
|
|
matter so we're interested
|
|
|
|
602
|
|
00:19:00,240 --> 00:19:08,880
|
|
in in using indicators to detect if our constituency
|
|
|
|
604
|
|
00:19:06,880 --> 00:19:10,0
|
|
1146.88 --> 1150
|
|
is affected by something that the
|
|
|
|
605
|
|
00:19:08,880 --> 00:19:12,880
|
|
information is being
|
|
|
|
606
|
|
00:19:10,0 --> 00:19:14,160
|
|
1150 --> 1154.16
|
|
shared about or whether uh any of the
|
|
|
|
607
|
|
00:19:12,880 --> 00:19:17,200
|
|
the infrastructure that we're
|
|
|
|
608
|
|
00:19:14,160 --> 00:19:17,840
|
|
responsible for is infected
|
|
|
|
609
|
|
00:19:17,200 --> 00:19:22,639
|
|
on the other hand if you're talking to an isp
|
|
|
|
611
|
|
00:19:19,919 --> 00:19:22,640
|
|
one of the large
|
|
|
|
612
|
|
00:19:22,720 --> 00:19:26,720
|
|
requirements from an isp basically will
|
|
|
|
613
|
|
00:19:24,640 --> 00:19:29,38
|
|
be able to protect their users
|
|
|
|
614
|
|
00:19:26,720 --> 00:19:30,79
|
|
from potential harm so that means that
|
|
|
|
616
|
|
00:19:30,79 --> 00:19:34,480
|
|
if there are any urls, websites, and so on
|
|
|
|
618
|
|
00:19:34,480 --> 00:19:38,480
|
|
that they should block for their users they
|
|
|
|
619
|
|
00:19:36,880 --> 00:19:39,679
|
|
need to be able to generate a block list
|
|
|
|
620
|
|
00:19:38,480 --> 00:19:41,440
|
|
out of the data
|
|
|
|
621
|
|
00:19:39,679 --> 00:19:43,600
|
|
that is considered to be malicious
|
|
|
|
622
|
|
00:19:41,440 --> 00:19:45,360
|
|
enough now if you compare these two use cases
|
|
|
|
623
|
|
00:19:43,599 --> 00:19:48,240
|
|
with each other detection versus blocking
|
|
|
|
625
|
|
00:19:46,240 --> 00:19:49,359
|
|
you will immediately see that the effect
|
|
|
|
627
|
|
00:19:49,359 --> 00:19:53,359
|
|
of having a false positive in the data
|
|
|
|
628
|
|
00:19:51,200 --> 00:19:56,160
|
|
set or data that is no longer fresh
|
|
|
|
629
|
|
00:19:53,359 --> 00:19:57,119
|
|
has a completely different impact
|
|
|
|
630
|
|
00:19:56,160 --> 00:19:58,960
|
|
sure for us when
|
|
|
|
631
|
|
00:19:57,119 --> 00:20:00,719
|
|
that are mostly in the detection game
|
|
|
|
632
|
|
00:19:58,960 --> 00:20:02,400
|
|
it's annoying we get a false positive
|
|
|
|
633
|
|
00:20:00,720 --> 00:20:04,400
|
|
alert it has to be handled
|
|
|
|
634
|
|
00:20:02,400 --> 00:20:05,759
|
|
and it takes time and effort it also
|
|
|
|
635
|
|
00:20:04,400 --> 00:20:07,200
|
|
introduces something called alert fatigue
|
|
|
|
636
|
|
00:20:05,759 --> 00:20:09,319
|
|
that i'm sure many of you are familiar with
|
|
|
|
638
|
|
00:20:08,319 --> 00:20:12,79
|
|
if you're getting a lot of false
|
|
|
|
639
|
|
00:20:09,440 --> 00:20:15,120
|
|
positive alerts you're more likely to ignore the
|
|
|
|
641
|
|
00:20:13,119 --> 00:20:16,798
|
|
next alert that you get but besides that
|
|
|
|
642
|
|
00:20:15,679 --> 00:20:20,879
|
|
it has no real operational impact on us
|
|
|
|
644
|
|
00:20:19,119 --> 00:20:22,879
|
|
on the other hand for an isp that ends up blocking
|
|
|
|
645
|
|
00:20:20,880 --> 00:20:24,880
|
|
something that is uh
|
|
|
|
646
|
|
00:20:22,880 --> 00:20:27,400
|
|
potentially a false positive might have a catastrophic impact
|
|
|
|
648
|
|
00:20:26,400 --> 00:20:33,600
|
|
imagine if someone accidentally, for example shares
|
|
|
|
650
|
|
00:20:29,599 --> 00:20:35,759
|
|
facebook.com as an indicator that might
|
|
|
|
651
|
|
00:20:33,279 --> 00:20:39,119
|
|
basically cause a riot with their users or it might {inaudible}
|
|
|
|
653
|
|
00:20:37,279 --> 00:20:41,519
|
|
but it's a different story
|
|
|
|
654
|
|
00:20:39,119 --> 00:20:44,479
|
|
but with that in mind, you see that these
|
|
|
|
655
|
|
00:20:41,519 --> 00:20:47,679
|
|
two use cases are already conflicting
|
|
|
|
656
|
|
00:20:44,480 --> 00:20:49,360
|
|
now if you also take the perspective of
|
|
|
|
657
|
|
00:20:47,679 --> 00:20:52,400
|
|
intelligence analysts that are tracking
|
|
|
|
658
|
|
00:20:49,359 --> 00:20:52,798
|
|
threat actor movements in to account
|
|
|
|
660
|
|
00:20:52,798 --> 00:20:56,400
|
|
that's an even more lax use case
|
|
|
|
662
|
|
00:20:56,400 --> 00:21:02,159
|
|
where you care about whether something is a fresh indicator still or not
|
|
|
|
664
|
|
00:21:00,79 --> 00:21:03,439
|
|
even less than the other two groups.
|
|
|
|
665
|
|
00:21:02,159 --> 00:21:04,880
|
|
The reason for that is you're interested in
|
|
|
|
666
|
|
00:21:03,440 --> 00:21:07,120
|
|
the historical movements of a threat actor, for example.
|
|
|
|
668
|
|
00:21:07,119 --> 00:21:11,439
|
|
So even if something is no longer
|
|
|
|
669
|
|
00:21:08,240 --> 00:21:13,38
|
|
an indicator because and an infected
|
|
|
|
670
|
|
00:21:11,440 --> 00:21:14,960
|
|
website was cleaned up
|
|
|
|
671
|
|
00:21:13,38 --> 00:21:17,38
|
|
since the time when the indicator was
|
|
|
|
672
|
|
00:21:14,960 --> 00:21:18,880
|
|
shared they still want to see
|
|
|
|
673
|
|
00:21:17,38 --> 00:21:20,558
|
|
how long, for example a threat actor was
|
|
|
|
674
|
|
00:21:18,880 --> 00:21:22,80
|
|
using that infrastructure,
|
|
|
|
675
|
|
00:21:20,558 --> 00:21:25,119
|
|
how quickly they changed to something
|
|
|
|
676
|
|
00:21:22,79 --> 00:21:27,519
|
|
else and what methods they used
|
|
|
|
677
|
|
00:21:25,119 --> 00:21:28,239
|
|
back when they were exploiting it.
|
|
|
|
679
|
|
00:21:27,240 --> 00:21:31,839
|
|
So if you bring these different requirements on board on
|
|
|
|
680
|
|
00:21:30,480 --> 00:21:36,959
|
|
the same platform is difficult and there are some
|
|
|
|
682
|
|
00:21:35,200 --> 00:21:38,960
|
|
things that we can do to alleviate these
|
|
|
|
683
|
|
00:21:36,960 --> 00:21:40,720
|
|
issues. For example what we do with
|
|
|
|
684
|
|
00:21:38,960 --> 00:21:42,798
|
|
MISP
|
|
|
|
685
|
|
00:21:40,720 --> 00:21:44,480
|
|
we have a system called warning list
|
|
|
|
686
|
|
00:21:42,798 --> 00:21:46,480
|
|
system that allows us to filter out
|
|
|
|
687
|
|
00:21:44,480 --> 00:21:50,640
|
|
obvious false positives
|
|
|
|
688
|
|
00:21:46,480 --> 00:21:54,798
|
|
so we maintain these lists of
|
|
|
|
689
|
|
00:21:50,640 --> 00:21:56,720
|
|
most common websites, empty hash lists,
|
|
|
|
690
|
|
00:21:54,798 --> 00:21:58,319
|
|
public dns resolvers and all these
|
|
|
|
691
|
|
00:21:56,720 --> 00:22:00,558
|
|
typical things that end up in
|
|
|
|
692
|
|
00:21:58,319 --> 00:22:04,399
|
|
the sets while doing automatic extraction for example
|
|
|
|
694
|
|
00:22:02,400 --> 00:22:06,80
|
|
that end up being false positives but
|
|
|
|
695
|
|
00:22:04,400 --> 00:22:07,720
|
|
with that said this is just one part of the story
|
|
|
|
697
|
|
00:22:06,720 --> 00:22:10,79
|
|
So if you're looking at the different
|
|
|
|
698
|
|
00:22:08,480 --> 00:22:12,880
|
|
use cases up there that doesn't solve our issue
|
|
|
|
700
|
|
00:22:10,880 --> 00:22:15,600
|
|
of having different requirements
|
|
|
|
701
|
|
00:22:14,0 --> 00:22:17,558
|
|
1334 --> 1336.559
|
|
from the data set based on what you do with it
|
|
|
|
703
|
|
00:22:16,558 --> 00:22:20,319
|
|
and this is where contextualization
|
|
|
|
704
|
|
00:22:18,558 --> 00:22:22,158
|
|
becomes more important again
|
|
|
|
705
|
|
00:22:20,319 --> 00:22:24,0
|
|
1340.32 --> 1344
|
|
if we can supply the information together with the data,
|
|
|
|
707
|
|
00:22:23,0 --> 00:22:26,880
|
|
1344 --> 1346.88
|
|
why this data is relevant and what context you're
|
|
|
|
708
|
|
00:22:25,440 --> 00:22:28,640
|
|
supposed to be using it
|
|
|
|
709
|
|
00:22:26,880 --> 00:22:30,480
|
|
then the consumers of the data can make
|
|
|
|
710
|
|
00:22:28,640 --> 00:22:33,440
|
|
those decisions for themselves based on
|
|
|
|
711
|
|
00:22:30,480 --> 00:22:35,279
|
|
whatever they want to use
|
|
|
|
712
|
|
00:22:33,440 --> 00:22:38,640
|
|
the data for in any of those different use cases
|
|
|
|
714
|
|
00:22:36,640 --> 00:22:42,720
|
|
so one of our main efforts with MISP has been
|
|
|
|
716
|
|
00:22:40,720 --> 00:22:44,0
|
|
1360.72 --> 1364
|
|
to be able to provide these different
|
|
|
|
717
|
|
00:22:42,400 --> 00:22:47,519
|
|
structures together with the data and to
|
|
|
|
718
|
|
00:22:44,0 --> 00:22:48,519
|
|
1364 --> 1367.52
|
|
be able to label data well enough. Back to you.
|
|
|
|
720
|
|
00:22:48,880 --> 00:22:54,720
|
|
Yeah so and that's iI think important regarding the
|
|
|
|
721
|
|
00:22:52,960 --> 00:22:56,720
|
|
different kind of use cases and so on
|
|
|
|
722
|
|
00:22:54,720 --> 00:22:59,360
|
|
and we try to support those different use cases and
|
|
|
|
725
|
|
00:22:59,759 --> 00:23:03,679
|
|
that's sometimes challenging for us but luckily
|
|
|
|
726
|
|
00:23:01,679 --> 00:23:06,320
|
|
we are at the same time
|
|
|
|
727
|
|
00:23:03,679 --> 00:23:07,840
|
|
part of various community so we can see
|
|
|
|
728
|
|
00:23:06,319 --> 00:23:09,279
|
|
the different use cases, especially
|
|
|
|
729
|
|
00:23:07,839 --> 00:23:13,480
|
|
regarding the handling of false positive which is
|
|
|
|
731
|
|
00:23:12,480 --> 00:23:16,558
|
|
an ongoing challenge but we will show
|
|
|
|
732
|
|
00:23:14,880 --> 00:23:17,840
|
|
you how to handle that
|
|
|
|
733
|
|
00:23:16,558 --> 00:23:20,0
|
|
1396.559 --> 1400
|
|
and at the same time we basically
|
|
|
|
734
|
|
00:23:17,839 --> 00:23:22,79
|
|
operate those different communities.
|
|
|
|
735
|
|
00:23:20,0 --> 00:23:24,159
|
|
1400 --> 1404.159
|
|
So for example we operate a pretty large
|
|
|
|
736
|
|
00:23:22,79 --> 00:23:26,798
|
|
one for the private sector
|
|
|
|
737
|
|
00:23:24,159 --> 00:23:30,559
|
|
where we have a lot of organizations,
|
|
|
|
739
|
|
00:23:28,558 --> 00:23:32,158
|
|
more than 1200 organizations are basically connected there.
|
|
|
|
740
|
|
00:23:30,880 --> 00:23:35,440
|
|
It's pretty large and we see an active
|
|
|
|
742
|
|
00:23:35,440 --> 00:23:38,400
|
|
community sharing information and
|
|
|
|
743
|
|
00:23:36,798 --> 00:23:40,400
|
|
there is plenty of different communities
|
|
|
|
744
|
|
00:23:38,400 --> 00:23:41,840
|
|
some that we don't know even about
|
|
|
|
745
|
|
00:23:40,400 --> 00:23:43,278
|
|
because you can even run your own
|
|
|
|
746
|
|
00:23:41,839 --> 00:23:44,558
|
|
private communities without telling anyone, that's fine.
|
|
|
|
|
|
748
|
|
00:23:44,558 --> 00:23:49,759
|
|
That's part of the system but if you want to have different kind of communities
|
|
|
|
750
|
|
00:23:48,759 --> 00:23:55,839
|
|
you can connect those automatically then you have I would say
|
|
|
|
753
|
|
00:23:54,240 --> 00:23:57,798
|
|
different kind of model you have those kind of
|
|
|
|
755
|
|
00:23:56,798 --> 00:24:00,480
|
|
fully island mode communities.
|
|
|
|
756
|
|
00:23:58,798 --> 00:24:01,679
|
|
Those kind of trusted groups so for example for the
|
|
|
|
758
|
|
00:24:00,679 --> 00:24:05,519
|
|
intelligence community it's very common for them to run MISP
|
|
|
|
759
|
|
00:24:03,759 --> 00:24:09,759
|
|
in an island mode so having air gap system and so on
|
|
|
|
761
|
|
00:24:07,759 --> 00:24:11,919
|
|
sometimes they are partially connected
|
|
|
|
762
|
|
00:24:09,759 --> 00:24:13,599
|
|
with third parties to share partial
|
|
|
|
763
|
|
00:24:11,919 --> 00:24:15,400
|
|
information so for example we know some organizations
|
|
|
|
765
|
|
00:24:14,400 --> 00:24:18,640
|
|
or for example border controls or customs
|
|
|
|
767
|
|
00:24:18,640 --> 00:24:21,919
|
|
are using MISP but they still need to
|
|
|
|
768
|
|
00:24:20,79 --> 00:24:24,319
|
|
share some small information and that
|
|
|
|
770
|
|
00:24:22,319 --> 00:24:24,158
|
|
partially connected system.
|
|
|
|
771
|
|
00:24:23,319 --> 00:24:28,0
|
|
1464.32 --> 1468
|
|
MISP freely supports those kind of models
|
|
|
|
772
|
|
00:24:26,159 --> 00:24:29,679
|
|
and then you have community that are
|
|
|
|
773
|
|
00:24:28,0 --> 00:24:31,359
|
|
1468 --> 1471.36
|
|
more broad and more large
|
|
|
|
774
|
|
00:24:29,679 --> 00:24:33,278
|
|
for example in the financial sector and
|
|
|
|
775
|
|
00:24:31,359 --> 00:24:35,240
|
|
I think the CSIRT Luxembourg has some banks
|
|
|
|
777
|
|
00:24:34,240 --> 00:24:39,599
|
|
we are involved in various sharing communities
|
|
|
|
779
|
|
00:24:37,599 --> 00:24:41,519
|
|
at European level and worldwide level
|
|
|
|
780
|
|
00:24:40,480 --> 00:24:45,759
|
|
where for example we know some ISACs that are dedicated to
|
|
|
|
782
|
|
00:24:43,759 --> 00:24:48,200
|
|
the financial sector are using it as a sharing mechanism
|
|
|
|
784
|
|
00:24:47,200 --> 00:24:51,278
|
|
you have some organizations that are really
|
|
|
|
785
|
|
00:24:49,38 --> 00:24:52,480
|
|
dedicated to a payment processing system
|
|
|
|
786
|
|
00:24:51,278 --> 00:24:54,519
|
|
that are using this to share automatically
|
|
|
|
788
|
|
00:24:53,519 --> 00:24:57,519
|
|
information and so on or analysis
|
|
|
|
790
|
|
00:24:57,519 --> 00:25:01,519
|
|
One of the I would say pretty large community too is
|
|
|
|
791
|
|
00:24:59,278 --> 00:25:04,960
|
|
with the military organization and international organizations
|
|
|
|
793
|
|
00:25:02,960 --> 00:25:06,720
|
|
FIRST for example, you have a lot of FIRST members using
|
|
|
|
794
|
|
00:25:05,359 --> 00:25:08,639
|
|
MISP for sharing their information
|
|
|
|
796
|
|
00:25:08,640 --> 00:25:13,759
|
|
but there are plenty of networks, national governmental networks
|
|
|
|
798
|
|
00:25:11,759 --> 00:25:15,278
|
|
a military one intelligence, one or even NATO for example are using
|
|
|
|
800
|
|
00:25:15,278 --> 00:25:19,599
|
|
using MISP so maybe some of you are eligible to access those ones
|
|
|
|
802
|
|
00:25:19,599 --> 00:25:23,399
|
|
so we have on the MISP an interface a way to connect to those
|
|
|
|
804
|
|
00:25:22,400 --> 00:25:26,240
|
|
community and you can reach out to the
|
|
|
|
805
|
|
00:25:24,319 --> 00:25:27,200
|
|
different community by asking for access for example
|
|
|
|
807
|
|
00:25:27,200 --> 00:25:30,319
|
|
then you have very specific communities
|
|
|
|
808
|
|
00:25:28,960 --> 00:25:33,720
|
|
that are set up by security vendors it's not uncommon
|
|
|
|
810
|
|
00:25:32,720 --> 00:25:35,759
|
|
tp see for example a security vendor
|
|
|
|
811
|
|
00:25:34,0 --> 00:25:37,359
|
|
1534 --> 1537.36
|
|
services their own MISP
|
|
|
|
812
|
|
00:25:35,759 --> 00:25:39,119
|
|
we have seen for example some
|
|
|
|
813
|
|
00:25:37,359 --> 00:25:41,319
|
|
{inaudible} agents vendors running a dedicated MISP
|
|
|
|
815
|
|
00:25:40,319 --> 00:25:44,480
|
|
or even some operators of specific cloud
|
|
|
|
816
|
|
00:25:42,798 --> 00:25:46,400
|
|
services running a MISP instance
|
|
|
|
817
|
|
00:25:44,480 --> 00:25:49,360
|
|
to share information amongst
|
|
|
|
818
|
|
00:25:46,400 --> 00:25:49,320
|
|
their different customers.
|
|
|
|
819
|
|
00:25:49,359 --> 00:25:52,798
|
|
Then you have communities that are
|
|
|
|
820
|
|
00:25:50,319 --> 00:25:55,38
|
|
i would say very specific on the topic
|
|
|
|
821
|
|
00:25:52,798 --> 00:25:59,79
|
|
for example you have about sick information uh false news
|
|
|
|
823
|
|
00:25:58,79 --> 00:26:02,278
|
|
and stuff like that you have communities doing that
|
|
|
|
825
|
|
00:26:01,278 --> 00:26:04,720
|
|
for example we cooperate one called the COVID-19 MISP
|
|
|
|
827
|
|
00:26:04,720 --> 00:26:09,839
|
|
which is really targeting COVID-19 as a topic
|
|
|
|
828
|
|
00:26:07,919 --> 00:26:10,720
|
|
and then you have 10 different subtopics like
|
|
|
|
829
|
|
00:26:09,839 --> 00:26:12,399
|
|
cyber security, health related topics and so on.
|
|
|
|
831
|
|
00:26:12,400 --> 00:26:15,679
|
|
So you can see that MISP can be really used on
|
|
|
|
832
|
|
00:26:13,919 --> 00:26:17,440
|
|
different model of communities
|
|
|
|
833
|
|
00:26:15,679 --> 00:26:19,440
|
|
you can bridge those communities,
|
|
|
|
834
|
|
00:26:17,440 --> 00:26:21,360
|
|
you can interconnect those with together,
|
|
|
|
835
|
|
00:26:19,440 --> 00:26:23,759
|
|
you can keep it for yourself, so it's
|
|
|
|
836
|
|
00:26:21,359 --> 00:26:25,839
|
|
really a matter of models.
|
|
|
|
837
|
|
00:26:23,759 --> 00:26:27,759
|
|
Worldwide there are I would say a lot of
|
|
|
|
838
|
|
00:26:25,839 --> 00:26:31,199
|
|
communities that we are not aware of
|
|
|
|
839
|
|
00:26:27,759 --> 00:26:33,599
|
|
but we as CIRCL operates
|
|
|
|
840
|
|
00:26:31,200 --> 00:26:35,120
|
|
around 20 communities nowadays, that you
|
|
|
|
841
|
|
00:26:33,599 --> 00:26:37,839
|
|
can basically get access
|
|
|
|
842
|
|
00:26:35,119 --> 00:26:39,839
|
|
and Andras just sharing in the chat the
|
|
|
|
843
|
|
00:26:37,839 --> 00:26:42,439
|
|
access to the COVID-19 MISP and if you want to get access to
|
|
|
|
845
|
|
00:26:41,440 --> 00:26:46,320
|
|
that one you can connect on the main page and self-register and
|
|
|
|
847
|
|
00:26:46,319 --> 00:26:49,519
|
|
you can request access to that community
|
|
|
|
849
|
|
00:26:48,519 --> 00:26:53,38
|
|
so you see that MISP has different groups different communities
|
|
|
|
851
|
|
00:26:53,38 --> 00:26:56,640
|
|
and it's up to you at the end to decide
|
|
|
|
852
|
|
00:26:55,359 --> 00:26:58,879
|
|
which kind of community you want to {inaudiable either be/visit}
|
|
|
|
854
|
|
00:27:01,38 --> 00:27:04,798
|
|
So, a little bit besides all the technical things
|
|
|
|
856
|
|
00:27:04,798 --> 00:27:06,839
|
|
that we talked about, that we do with MISP,
|
|
|
|
857
|
|
00:27:06,480 --> 00:27:09,919
|
|
and that we try to solve with it.
|
|
|
|
858
|
|
00:27:07,839 --> 00:27:11,278
|
|
In terms of sharing, there are obviously
|
|
|
|
859
|
|
00:27:09,919 --> 00:27:12,720
|
|
going to be other hurdles that you have
|
|
|
|
860
|
|
00:27:11,278 --> 00:27:14,159
|
|
to overcome whenever it comes to information sharing
|
|
|
|
862
|
|
00:27:14,159 --> 00:27:17,679
|
|
one of the the toughest things to
|
|
|
|
863
|
|
00:27:16,0 --> 00:27:18,880
|
|
1636 --> 1638.88
|
|
overcome and this is where no tool can really help you
|
|
|
|
865
|
|
00:27:18,880 --> 00:27:23,679
|
|
is to get enough trust in a community to
|
|
|
|
866
|
|
00:27:22,79 --> 00:27:24,319
|
|
be able to share your information with them
|
|
|
|
868
|
|
00:27:24,319 --> 00:27:27,918
|
|
So the only way to facilitate this is really social interactions
|
|
|
|
870
|
|
00:27:27,919 --> 00:27:32,0
|
|
1647.919 --> 1652
|
|
so sadly though we're living in times
|
|
|
|
871
|
|
00:27:30,398 --> 00:27:33,278
|
|
where social interactions are tougher than usual
|
|
|
|
873
|
|
00:27:33,278 --> 00:27:37,440
|
|
but for example events like FIRST conferences
|
|
|
|
874
|
|
00:27:35,679 --> 00:27:38,880
|
|
are great ways to get to know your community and to
|
|
|
|
876
|
|
00:27:38,880 --> 00:27:43,200
|
|
build this trust and build those
|
|
|
|
877
|
|
00:27:41,440 --> 00:27:44,159
|
|
social relationships that you need
|
|
|
|
879
|
|
00:27:44,159 --> 00:27:47,679
|
|
to be able to really exchange meaningful
|
|
|
|
880
|
|
00:27:45,839 --> 00:27:49,918
|
|
information with the community
|
|
|
|
881
|
|
00:27:47,679 --> 00:27:52,0
|
|
1667.679 --> 1672
|
|
so I really encourage everyone that
|
|
|
|
882
|
|
00:27:49,919 --> 00:27:53,360
|
|
wants to partake in information sharing communities
|
|
|
|
884
|
|
00:27:53,359 --> 00:27:57,278
|
|
to be social, to reach out, and to get to know your community
|
|
|
|
886
|
|
00:27:57,278 --> 00:28:00,79
|
|
because that's the biggest facilitator for sharing in the first place.
|
|
|
|
888
|
|
00:28:00,79 --> 00:28:03,599
|
|
Other than that, there are obviously some
|
|
|
|
889
|
|
00:28:01,919 --> 00:28:05,360
|
|
legal restrictions that you have
|
|
|
|
890
|
|
00:28:03,599 --> 00:28:06,398
|
|
that might come up in the entire process.
|
|
|
|
891
|
|
00:28:05,359 --> 00:28:08,79
|
|
We see this very often with organizations where the first
|
|
|
|
893
|
|
00:28:08,79 --> 00:28:10,918
|
|
questions that they ask us when they join
|
|
|
|
895
|
|
00:28:09,919 --> 00:28:16,240
|
|
in our communities okay how does this
|
|
|
|
896
|
|
00:28:13,38 --> 00:28:18,558
|
|
fit into GDPR for example.
|
|
|
|
897
|
|
00:28:16,240 --> 00:28:21,38
|
|
If my legal team asks me why I am sharing
|
|
|
|
898
|
|
00:28:18,558 --> 00:28:22,720
|
|
an information out what can i
|
|
|
|
899
|
|
00:28:21,38 --> 00:28:24,798
|
|
give them as an explanation of why i'm
|
|
|
|
900
|
|
00:28:22,720 --> 00:28:25,159
|
|
supposed to or allowed to do this.
|
|
|
|
901
|
|
00:28:25,198 --> 00:28:28,319
|
|
So if you need any help with that we
|
|
|
|
902
|
|
00:28:26,159 --> 00:28:29,840
|
|
have a bunch of compliance documentation
|
|
|
|
903
|
|
00:28:28,319 --> 00:28:33,240
|
|
and that we've been working on together with a bunch of partners
|
|
|
|
905
|
|
00:28:32,240 --> 00:28:36,798
|
|
and so we have descriptions for how
|
|
|
|
906
|
|
00:28:34,640 --> 00:28:37,919
|
|
MISP fits into the GDPR, the NIS directive
|
|
|
|
908
|
|
00:28:37,919 --> 00:28:41,360
|
|
and some other frameworks so just
|
|
|
|
909
|
|
00:28:40,79 --> 00:28:43,119
|
|
have a look there and if you have any
|
|
|
|
910
|
|
00:28:41,359 --> 00:28:44,0
|
|
1721.36 --> 1724
|
|
questions or if you feel that anything is not covered
|
|
|
|
912
|
|
00:28:44,0 --> 00:28:47,599
|
|
1724 --> 1727.6
|
|
let us know and we keep updating our documentation
|
|
|
|
914
|
|
00:28:47,599 --> 00:28:51,519
|
|
based on on feedback of what's missing
|
|
|
|
915
|
|
00:28:49,679 --> 00:28:52,559
|
|
or ideas that we should be incorporating in there
|
|
|
|
917
|
|
00:28:52,558 --> 00:29:00,640
|
|
but generally , once your legal team is more
|
|
|
|
919
|
|
00:28:58,880 --> 00:29:01,360
|
|
familiar with the process and why this
|
|
|
|
920
|
|
00:29:00,640 --> 00:29:02,80
|
|
is {inaudible done/tied}
|
|
|
|
921
|
|
00:29:01,359 --> 00:29:05,759
|
|
why ensuring security for your
|
|
|
|
922
|
|
00:29:04,79 --> 00:29:06,798
|
|
organization and for the data that you
|
|
|
|
923
|
|
00:29:05,759 --> 00:29:08,960
|
|
have to secure is important then it's seen more as a
|
|
|
|
925
|
|
00:29:08,960 --> 00:29:13,360
|
|
benefit than a hurdle really
|
|
|
|
926
|
|
00:29:10,640 --> 00:29:15,278
|
|
but it obviously takes time to get
|
|
|
|
927
|
|
00:29:13,359 --> 00:29:16,240
|
|
this into your processes to define why you're
|
|
|
|
929
|
|
00:29:16,240 --> 00:29:19,679
|
|
doing what you're doing
|
|
|
|
930
|
|
00:29:18,398 --> 00:29:21,199
|
|
your retention periods,
|
|
|
|
931
|
|
00:29:19,679 --> 00:29:22,960
|
|
describing how you're going to handle data and so on
|
|
|
|
933
|
|
00:29:22,960 --> 00:29:26,399
|
|
so this obviously has some ramp up time
|
|
|
|
935
|
|
00:29:26,398 --> 00:29:29,439
|
|
but we have a lot of documentation that will help you with that.
|
|
|
|
937
|
|
00:29:29,440 --> 00:29:32,558
|
|
There are also some practical restrictions that we hear from
|
|
|
|
938
|
|
00:29:30,960 --> 00:29:34,79
|
|
organizations so very often when
|
|
|
|
939
|
|
00:29:32,558 --> 00:29:35,440
|
|
organizations reach out to us
|
|
|
|
940
|
|
00:29:34,79 --> 00:29:37,199
|
|
the first thing they say is we don't
|
|
|
|
941
|
|
00:29:35,440 --> 00:29:39,120
|
|
really have any information to share,
|
|
|
|
942
|
|
00:29:37,200 --> 00:29:40,880
|
|
we don't have the capability for example
|
|
|
|
943
|
|
00:29:39,119 --> 00:29:42,639
|
|
to build those highly vetted threat reports that we're so used to
|
|
|
|
945
|
|
00:29:42,640 --> 00:29:46,960
|
|
from feed providers and obviously very few organizations do.
|
|
|
|
947
|
|
00:29:46,960 --> 00:29:51,200
|
|
With that said information sharing comes
|
|
|
|
948
|
|
00:29:49,919 --> 00:29:54,600
|
|
in many different shapes and sizes for example going back
|
|
|
|
950
|
|
00:29:53,599 --> 00:29:58,558
|
|
to the initial use case about
|
|
|
|
951
|
|
00:29:55,200 --> 00:30:00,0
|
|
1795.2 --> 1800
|
|
providing feedback from your analysts
|
|
|
|
952
|
|
00:29:58,558 --> 00:30:02,240
|
|
about the data that you receive from
|
|
|
|
953
|
|
00:30:00,0 --> 00:30:03,839
|
|
1800 --> 1803.84
|
|
your community is already valuable
|
|
|
|
954
|
|
00:30:02,240 --> 00:30:05,599
|
|
information sharing so if someone for
|
|
|
|
955
|
|
00:30:03,839 --> 00:30:07,278
|
|
example provides sightings
|
|
|
|
956
|
|
00:30:05,599 --> 00:30:09,839
|
|
I've also seen this indicator at this given time
|
|
|
|
958
|
|
00:30:09,839 --> 00:30:13,359
|
|
that can already help you tune the data set
|
|
|
|
960
|
|
00:30:13,359 --> 00:30:16,879
|
|
for what goes into your working data
|
|
|
|
961
|
|
00:30:15,119 --> 00:30:18,319
|
|
sets for detection and blocking and so on.
|
|
|
|
963
|
|
00:30:18,319 --> 00:30:22,960
|
|
Also providing information on false
|
|
|
|
964
|
|
00:30:20,839 --> 00:30:24,319
|
|
positives and some information that
|
|
|
|
965
|
|
00:30:22,960 --> 00:30:26,640
|
|
you provided to the community turns out to be false
|
|
|
|
967
|
|
00:30:26,640 --> 00:30:30,960
|
|
or something that is no longer relevant
|
|
|
|
968
|
|
00:30:28,880 --> 00:30:33,39
|
|
getting information that is valid as
|
|
|
|
969
|
|
00:30:30,960 --> 00:30:35,278
|
|
well so pretty much everyone has
|
|
|
|
970
|
|
00:30:33,38 --> 00:30:36,398
|
|
information to share by just using the information and running
|
|
|
|
972
|
|
00:30:36,398 --> 00:30:44,0
|
|
1836.399 --> 1844
|
|
into frustration with the data by itself.
|
|
|
|
973
|
|
00:30:40,720 --> 00:30:44,640
|
|
Also besides not having information to share
|
|
|
|
975
|
|
00:30:44,640 --> 00:30:50,399
|
|
there comes also the issue of time.
|
|
|
|
976
|
|
00:30:48,398 --> 00:30:51,759
|
|
Most of us are overburdened with
|
|
|
|
977
|
|
00:30:50,398 --> 00:30:52,798
|
|
the different tasks that we are facing nowadays
|
|
|
|
979
|
|
00:30:52,798 --> 00:30:57,599
|
|
so taking extra time out of the day to
|
|
|
|
981
|
|
00:30:57,599 --> 00:31:02,38
|
|
encode information and to share it out in the community
|
|
|
|
983
|
|
00:31:01,38 --> 00:31:04,558
|
|
is obviously going to be an extra burden
|
|
|
|
984
|
|
00:31:02,640 --> 00:31:05,600
|
|
there is no way around it.
|
|
|
|
985
|
|
00:31:03,558 --> 00:31:07,440
|
|
What we try to do with MISP
|
|
|
|
986
|
|
00:31:05,599 --> 00:31:09,38
|
|
is to make this process as minimal as
|
|
|
|
987
|
|
00:31:07,440 --> 00:31:11,0
|
|
1867.44 --> 1870
|
|
possible but it is going to be a time investment in the end, after all
|
|
|
|
989
|
|
00:31:10,0 --> 00:31:13,839
|
|
1870 --> 1873.84
|
|
especially if you want to vet the data if you want to ensure that
|
|
|
|
992
|
|
00:31:13,839 --> 00:31:19,240
|
|
the right data reaches the right recipients
|
|
|
|
994
|
|
00:31:18,240 --> 00:31:26,240
|
|
This always has a time drain on you as well but in return this
|
|
|
|
996
|
|
00:31:24,480 --> 00:31:29,79
|
|
is offset by what you gain by sharing that information we're
|
|
|
|
998
|
|
00:31:28,79 --> 00:31:31,359
|
|
going to talk about this a little bit
|
|
|
|
999
|
|
00:31:29,440 --> 00:31:33,759
|
|
more during the community building part
|
|
|
|
1000
|
|
00:31:31,359 --> 00:31:35,278
|
|
about what effects you're going to see
|
|
|
|
1001
|
|
00:31:33,759 --> 00:31:36,640
|
|
if you're sharing information and why it is relevant for you
|
|
|
|
1003
|
|
00:31:36,640 --> 00:31:41,120
|
|
but to basically sum it up in one sentence
|
|
|
|
1005
|
|
00:31:41,119 --> 00:31:44,239
|
|
and whatever affects your organization
|
|
|
|
1006
|
|
00:31:42,960 --> 00:31:45,679
|
|
is probably the most important information for you and if you get
|
|
|
|
1008
|
|
00:31:45,679 --> 00:31:49,759
|
|
feedback on that, what you're seeing in your network
|
|
|
|
1010
|
|
00:31:49,759 --> 00:31:52,398
|
|
and more eyes on it, more perspectives
|
|
|
|
1013
|
|
00:31:52,398 --> 00:31:58,159
|
|
and perhaps more sophisticated methods of
|
|
|
|
1014
|
|
00:31:56,79 --> 00:31:59,519
|
|
research from other organizations
|
|
|
|
1015
|
|
00:31:58,159 --> 00:32:01,600
|
|
then that will probably just improve
|
|
|
|
1016
|
|
00:31:59,519 --> 00:32:03,519
|
|
your own security posture the best way it can.
|
|
|
|
1018
|
|
00:32:03,519 --> 00:32:08,880
|
|
Now, besides timeliness and basically having information to share
|
|
|
|
1020
|
|
00:32:07,519 --> 00:32:10,960
|
|
there's also the issue of different
|
|
|
|
1021
|
|
00:32:08,880 --> 00:32:12,240
|
|
classification models so classification
|
|
|
|
1022
|
|
00:32:10,960 --> 00:32:16,159
|
|
not just in a sense of of deciding who we share information with
|
|
|
|
1025
|
|
00:32:16,159 --> 00:32:19,278
|
|
but how we classify information really
|
|
|
|
1026
|
|
00:32:18,79 --> 00:32:22,798
|
|
in terms of contextualizating it we are all used
|
|
|
|
1029
|
|
00:32:22,798 --> 00:32:28,159
|
|
to naming things a certain way in our organizations in
|
|
|
|
1030
|
|
00:32:26,319 --> 00:32:31,38
|
|
our communities and we've probably
|
|
|
|
1031
|
|
00:32:28,159 --> 00:32:35,839
|
|
been doing it for longer than digital information systems exist
|
|
|
|
1034
|
|
00:32:34,558 --> 00:32:37,599
|
|
so we're probably using a lot of those
|
|
|
|
1035
|
|
00:32:35,839 --> 00:32:38,639
|
|
vocabularies that we've been using for decades
|
|
|
|
1037
|
|
00:32:38,640 --> 00:32:43,600
|
|
and what one of the things that we
|
|
|
|
1038
|
|
00:32:41,119 --> 00:32:45,678
|
|
wanted to avoid with MISP is to
|
|
|
|
1039
|
|
00:32:43,599 --> 00:32:46,639
|
|
get these communities to switch to a
|
|
|
|
1041
|
|
00:32:46,640 --> 00:32:51,360
|
|
different way of describing things so if you already
|
|
|
|
1042
|
|
00:32:49,119 --> 00:32:52,959
|
|
have your set methods, your set processes
|
|
|
|
1043
|
|
00:32:51,359 --> 00:32:54,479
|
|
how you define things, we don't want to alter that so one of
|
|
|
|
1045
|
|
00:32:54,480 --> 00:32:57,278
|
|
the things that we do with MISP and we are
|
|
|
|
1046
|
|
00:32:55,839 --> 00:32:58,798
|
|
going to talk a fair bit about, tomorrow mostly
|
|
|
|
1048
|
|
00:32:58,798 --> 00:33:03,679
|
|
is that you have ways to describe your
|
|
|
|
1049
|
|
00:33:01,519 --> 00:33:06,0
|
|
1981.519 --> 1986
|
|
own taxonomies and your own vocabularies
|
|
|
|
1050
|
|
00:33:03,679 --> 00:33:07,120
|
|
to use those in your community so very
|
|
|
|
1051
|
|
00:33:06,0 --> 00:33:08,558
|
|
1986 --> 1988.559
|
|
often when you're spinning up a
|
|
|
|
1052
|
|
00:33:07,119 --> 00:33:09,199
|
|
community and when you're starting out
|
|
|
|
1053
|
|
00:33:08,558 --> 00:33:10,879
|
|
with the sharing community,
|
|
|
|
1055
|
|
00:33:10,880 --> 00:33:14,320
|
|
a national sharing community, sectorial one, whatever
|
|
|
|
1056
|
|
00:33:12,480 --> 00:33:16,399
|
|
then one of the first tasks is basically
|
|
|
|
1057
|
|
00:33:14,319 --> 00:33:18,720
|
|
defining those common vocabularies
|
|
|
|
1058
|
|
00:33:16,398 --> 00:33:20,639
|
|
that you're going to be using
|
|
|
|
1059
|
|
00:33:18,720 --> 00:33:22,319
|
|
now apart from the vocabularies
|
|
|
|
1060
|
|
00:33:20,640 --> 00:33:25,38
|
|
themselves there is also the issue of
|
|
|
|
1061
|
|
00:33:22,319 --> 00:33:25,839
|
|
of us speaking many different languages
|
|
|
|
1063
|
|
00:33:25,839 --> 00:33:29,519
|
|
in terms of of our tools using different formats
|
|
|
|
1065
|
|
00:33:28,640 --> 00:33:33,919
|
|
so that means even within our own organization which is
|
|
|
|
1066
|
|
00:33:32,79 --> 00:33:34,639
|
|
rather small we have a set of different tools
|
|
|
|
1068
|
|
00:33:34,640 --> 00:33:38,559
|
|
that will ingest data in different formats
|
|
|
|
1070
|
|
00:33:38,558 --> 00:33:42,240
|
|
or will prefer to ingest data in given
|
|
|
|
1071
|
|
00:33:40,558 --> 00:33:43,119
|
|
format so one of the things we also try to do with MISP
|
|
|
|
1073
|
|
00:33:43,119 --> 00:33:46,798
|
|
is to act as a hub for all your different tools
|
|
|
|
1075
|
|
00:33:46,798 --> 00:33:51,519
|
|
that will get their data translated into
|
|
|
|
1076
|
|
00:33:49,200 --> 00:33:52,960
|
|
the format that they can best ingest.
|
|
|
|
1077
|
|
00:33:51,519 --> 00:33:55,839
|
|
Obviously this is something where we cannot be completely
|
|
|
|
1079
|
|
00:33:55,839 --> 00:34:01,519
|
|
100 percent covering all the other
|
|
|
|
1080
|
|
00:33:59,119 --> 00:34:02,879
|
|
things that exist out there.
|
|
|
|
1081
|
|
00:34:01,519 --> 00:34:04,558
|
|
So one of the things we try to do with MISP
|
|
|
|
1082
|
|
00:34:02,880 --> 00:34:06,399
|
|
is make it as modular as possible and
|
|
|
|
1083
|
|
00:34:04,558 --> 00:34:07,278
|
|
it's easy to encode your own formats as possible.
|
|
|
|
1085
|
|
00:34:07,278 --> 00:34:13,440
|
|
We're not going to go deeply into how to do this during the training
|
|
|
|
1087
|
|
00:34:11,358 --> 00:34:15,39
|
|
but if anyone is interested about that just
|
|
|
|
1089
|
|
00:34:15,39 --> 00:34:17,599
|
|
let us know and we'll point you in the
|
|
|
|
1090
|
|
00:34:16,398 --> 00:34:19,598
|
|
right direction where you can find
|
|
|
|
1091
|
|
00:34:17,599 --> 00:34:20,159
|
|
documentation on how to modularize and
|
|
|
|
1093
|
|
00:34:19,599 --> 00:34:24,159
|
|
how to build import and export in MISP.
|
|
|
|
1094
|
|
00:34:26,760 --> 00:34:30,560
|
|
So just one side note, all the training
|
|
|
|
1095
|
|
00:34:28,639 --> 00:34:32,320
|
|
materials are available online
|
|
|
|
1096
|
|
00:34:30,559 --> 00:34:33,599
|
|
like {inaudible} mentioned we have a Github
|
|
|
|
1097
|
|
00:34:32,320 --> 00:34:35,599
|
|
repository with a pretty extensive README files with all
|
|
|
|
1099
|
|
00:34:35,599 --> 00:34:41,39
|
|
the material that we provide, there is a MISP book too which includes a
|
|
|
|
1101
|
|
00:34:41,39 --> 00:34:45,838
|
|
lot of reference to MISP as you know MISP has a
|
|
|
|
1103
|
|
00:34:45,838 --> 00:34:50,159
|
|
pretty large topic coming from technical aspect and
|
|
|
|
1105
|
|
00:34:50,159 --> 00:34:54,480
|
|
you will see that in a minute about the project overview.
|
|
|
|
1107
|
|
00:34:54,480 --> 00:34:57,519
|
|
So don't hesitate to go there on the MISP training
|
|
|
|
1109
|
|
00:34:57,519 --> 00:35:00,639
|
|
page on Github this one is a good
|
|
|
|
1110
|
|
00:34:59,358 --> 00:35:02,639
|
|
reference because it's really pointing
|
|
|
|
1111
|
|
00:35:00,639 --> 00:35:05,920
|
|
to the different elements
|
|
|
|
1112
|
|
00:35:02,639 --> 00:35:06,239
|
|
that we have. We have a huge slide deck of
|
|
|
|
1114
|
|
00:35:06,239 --> 00:35:10,559
|
|
close to 500 pages of slide deck on the
|
|
|
|
1115
|
|
00:35:08,559 --> 00:35:11,679
|
|
MISP book we have close to 500 pages. I
|
|
|
|
1116
|
|
00:35:10,559 --> 00:35:13,440
|
|
would not mention the number of pages
|
|
|
|
1117
|
|
00:35:11,679 --> 00:35:14,719
|
|
for taxonomies, galaxies and so on. It's quite large too
|
|
|
|
1119
|
|
00:35:14,719 --> 00:35:19,39
|
|
but really look at this as a kind of way
|
|
|
|
1120
|
|
00:35:17,519 --> 00:35:22,239
|
|
to shape it to what you like.
|
|
|
|
1121
|
|
00:35:19,39 --> 00:35:23,519
|
|
So it's really there to help you and if
|
|
|
|
1122
|
|
00:35:22,239 --> 00:35:25,439
|
|
you see something missing
|
|
|
|
1123
|
|
00:35:23,519 --> 00:35:26,800
|
|
let us know but we have slides,
|
|
|
|
1125
|
|
00:35:26,800 --> 00:35:31,200
|
|
for example system requirements, things like
|
|
|
|
1126
|
|
00:35:29,838 --> 00:35:32,960
|
|
for example building community that
|
|
|
|
1127
|
|
00:35:31,199 --> 00:35:35,439
|
|
we'll talk tomorrow, that's
|
|
|
|
1128
|
|
00:35:32,960 --> 00:35:37,599
|
|
part of it but for more the
|
|
|
|
1129
|
|
00:35:35,440 --> 00:35:40,320
|
|
programmatic aspect, API
|
|
|
|
1130
|
|
00:35:37,599 --> 00:35:41,200
|
|
how to integrate with MISP {inaudible JSON/taxono},
|
|
|
|
1131
|
|
00:35:40,320 --> 00:35:43,39
|
|
how to extend it too
|
|
|
|
1132
|
|
00:35:41,199 --> 00:35:44,799
|
|
there are plenty of slides regarding that
|
|
|
|
1133
|
|
00:35:43,39 --> 00:35:46,800
|
|
so it's really a good reference
|
|
|
|
1134
|
|
00:35:44,800 --> 00:35:48,560
|
|
and thanks to {inaudible} to share this
|
|
|
|
1135
|
|
00:35:46,800 --> 00:35:50,800
|
|
information on the chat
|
|
|
|
1136
|
|
00:35:48,559 --> 00:35:52,719
|
|
so to just give a quick overview of the MISP project and really to show that
|
|
|
|
1138
|
|
00:35:52,719 --> 00:35:56,399
|
|
the project is quite large nowadays
|
|
|
|
1139
|
|
00:35:55,199 --> 00:35:59,838
|
|
we basically have like four pillars of things in MISP
|
|
|
|
1141
|
|
00:35:59,838 --> 00:36:03,199
|
|
one is obviously the open software itself
|
|
|
|
1143
|
|
00:36:03,199 --> 00:36:08,78
|
|
so the initial version in {inaudible} it was
|
|
|
|
1144
|
|
00:36:06,239 --> 00:36:10,239
|
|
the small first small block there
|
|
|
|
1145
|
|
00:36:08,79 --> 00:36:11,440
|
|
the MISP core software which is like just the software
|
|
|
|
1147
|
|
00:36:11,440 --> 00:36:16,400
|
|
mainly for the LMAP aspect where
|
|
|
|
1148
|
|
00:36:14,800 --> 00:36:17,920
|
|
you have the backend, the web interface,
|
|
|
|
1149
|
|
00:36:16,400 --> 00:36:19,760
|
|
and so on but over the time the project extended
|
|
|
|
1151
|
|
00:36:19,760 --> 00:36:23,40
|
|
with multiple things so if you look on the Github
|
|
|
|
1152
|
|
00:36:20,960 --> 00:36:24,800
|
|
repository of mid project we have around 50 repositories so
|
|
|
|
1154
|
|
00:36:24,800 --> 00:36:28,720
|
|
it's pretty large. Just to summarize what
|
|
|
|
1155
|
|
00:36:27,519 --> 00:36:31,119
|
|
are the different one
|
|
|
|
1156
|
|
00:36:28,719 --> 00:36:31,919
|
|
we have for example the MISP modules um
|
|
|
|
1158
|
|
00:36:31,920 --> 00:36:35,119
|
|
which is an easy way to extend MISP so the behavior of MISP
|
|
|
|
1160
|
|
00:36:35,119 --> 00:36:40,880
|
|
on the expansion side on the import, export and so on by just writing
|
|
|
|
1162
|
|
00:36:40,880 --> 00:36:44,480
|
|
python modules it's super easy to develop and use
|
|
|
|
1164
|
|
00:36:44,480 --> 00:36:47,920
|
|
and the idea behind is obviously to
|
|
|
|
1165
|
|
00:36:46,0 --> 00:36:50,960
|
|
2206 --> 2210.96
|
|
extend MISP without knowing
|
|
|
|
1166
|
|
00:36:47,920 --> 00:36:51,440
|
|
the core details about the system
|
|
|
|
1167
|
|
00:36:50,960 --> 00:36:55,358
|
|
then we have a library called PyMISP and this
|
|
|
|
1168
|
|
00:36:53,440 --> 00:36:58,639
|
|
PyMISP library is basically a
|
|
|
|
1169
|
|
00:36:55,358 --> 00:37:02,319
|
|
python library to expose the new MISP platform API
|
|
|
|
1171
|
|
00:37:02,320 --> 00:37:07,39
|
|
so MISP has a large REST api this one can be quite large but
|
|
|
|
1173
|
|
00:37:05,199 --> 00:37:11,679
|
|
by MISP is really helping you to for example {inaudible jest/Get} events
|
|
|
|
1174
|
|
00:37:09,599 --> 00:37:13,200
|
|
create feeds and stuff like that so it's
|
|
|
|
1175
|
|
00:37:11,679 --> 00:37:15,358
|
|
really important if you want to
|
|
|
|
1176
|
|
00:37:13,199 --> 00:37:17,39
|
|
extend MISP to have a look at PyMISP that
|
|
|
|
1177
|
|
00:37:15,358 --> 00:37:18,480
|
|
is not the only library for extending
|
|
|
|
1179
|
|
00:37:18,480 --> 00:37:23,440
|
|
MISP some in golang you have some
|
|
|
|
1180
|
|
00:37:21,519 --> 00:37:24,639
|
|
other in python too, you have others in java and so on
|
|
|
|
1182
|
|
00:37:24,639 --> 00:37:28,0
|
|
2244.64 --> 2248
|
|
but the PyMISP one is the one that
|
|
|
|
1183
|
|
00:37:26,400 --> 00:37:31,199
|
|
is maintained by the author of MISP so it is maintained by us
|
|
|
|
1186
|
|
00:37:31,199 --> 00:37:34,399
|
|
and you can have a look at this one it's
|
|
|
|
1187
|
|
00:37:32,480 --> 00:37:36,0
|
|
2252.48 --> 2256
|
|
really the one that's up to date it's
|
|
|
|
1188
|
|
00:37:34,400 --> 00:37:38,0
|
|
2254.4 --> 2258
|
|
really core and part of the system too
|
|
|
|
1189
|
|
00:37:36,0 --> 00:37:40,400
|
|
2256 --> 2260.4
|
|
because we use it for our own tests
|
|
|
|
1190
|
|
00:37:38,0 --> 00:37:42,320
|
|
2258 --> 2262.32
|
|
within MISP then we have different
|
|
|
|
1191
|
|
00:37:40,400 --> 00:37:43,358
|
|
repository I will just mention one which is
|
|
|
|
1193
|
|
00:37:43,358 --> 00:37:46,559
|
|
dashboard, the dashboard is an extension module
|
|
|
|
1195
|
|
00:37:46,559 --> 00:37:51,838
|
|
in MISP using what we call the ZeroMQ feed in MISP
|
|
|
|
1196
|
|
00:37:49,838 --> 00:37:54,159
|
|
so we have a kind of way to have kind of a real-time feed
|
|
|
|
1198
|
|
00:37:54,159 --> 00:37:58,799
|
|
in MISP you can {inaudible} and
|
|
|
|
1199
|
|
00:37:56,400 --> 00:38:00,639
|
|
so on but we wanted to show an example
|
|
|
|
1200
|
|
00:37:58,800 --> 00:38:02,240
|
|
application for that and the MISP
|
|
|
|
1201
|
|
00:38:00,639 --> 00:38:04,879
|
|
dashboard is exactly that
|
|
|
|
1202
|
|
00:38:02,239 --> 00:38:06,559
|
|
is a way to really get all the
|
|
|
|
1203
|
|
00:38:04,880 --> 00:38:08,960
|
|
information that you have in MISP
|
|
|
|
1204
|
|
00:38:06,559 --> 00:38:09,920
|
|
into a very nice dashboard and so on
|
|
|
|
1205
|
|
00:38:08,960 --> 00:38:11,760
|
|
this is really to have a good example of what you can do
|
|
|
|
1207
|
|
00:38:11,760 --> 00:38:14,240
|
|
with information within MISP and how you can use it
|
|
|
|
1209
|
|
00:38:14,239 --> 00:38:17,519
|
|
so that's the main pillar you have
|
|
|
|
1210
|
|
00:38:15,519 --> 00:38:18,79
|
|
plenty of other projects but those one are the main ones
|
|
|
|
1212
|
|
00:38:18,79 --> 00:38:22,400
|
|
on top of that you have
|
|
|
|
1213
|
|
00:38:20,880 --> 00:38:23,358
|
|
what we call the intelligent and knowledge database of
|
|
|
|
1215
|
|
00:38:23,358 --> 00:38:27,119
|
|
MISP and just mentioned about the difficulty
|
|
|
|
1217
|
|
00:38:27,119 --> 00:38:31,280
|
|
sometimes in some organizations to use a
|
|
|
|
1218
|
|
00:38:29,199 --> 00:38:33,519
|
|
{inaudible proper/corporate} classification and so on
|
|
|
|
1219
|
|
00:38:31,280 --> 00:38:35,40
|
|
and we try to ease this in this
|
|
|
|
1220
|
|
00:38:33,519 --> 00:38:36,639
|
|
different organization by having a kind
|
|
|
|
1221
|
|
00:38:35,39 --> 00:38:37,279
|
|
of library of all the taxonomies that exist
|
|
|
|
1223
|
|
00:38:37,280 --> 00:38:41,519
|
|
so we started as a very simple one where
|
|
|
|
1224
|
|
00:38:39,679 --> 00:38:43,358
|
|
it was just including for example a
|
|
|
|
1225
|
|
00:38:41,519 --> 00:38:45,440
|
|
taxonomy like the traffic light protocol one, FIRST is using it
|
|
|
|
1227
|
|
00:38:45,440 --> 00:38:49,119
|
|
and it's a commonly used classification but over
|
|
|
|
1228
|
|
00:38:47,838 --> 00:38:50,320
|
|
the time we have seen that many
|
|
|
|
1229
|
|
00:38:49,119 --> 00:38:52,720
|
|
organizations have different
|
|
|
|
1230
|
|
00:38:50,320 --> 00:38:54,320
|
|
classification and so on. So we already
|
|
|
|
1231
|
|
00:38:52,719 --> 00:38:55,838
|
|
in advance we prepare all those taxonomies in
|
|
|
|
1233
|
|
00:38:55,838 --> 00:38:59,599
|
|
possible information {inaudible} expose MISP
|
|
|
|
1234
|
|
00:38:58,159 --> 00:39:02,399
|
|
and you can enable the one that you want
|
|
|
|
1235
|
|
00:38:59,599 --> 00:39:05,39
|
|
so we have around 150 libraries now
|
|
|
|
1236
|
|
00:39:02,400 --> 00:39:05,680
|
|
ranging from classifications, specific one for
|
|
|
|
1238
|
|
00:39:05,679 --> 00:39:10,559
|
|
intelligence communities and some
|
|
|
|
1239
|
|
00:39:08,159 --> 00:39:12,399
|
|
other activities so this one is our
|
|
|
|
1240
|
|
00:39:10,559 --> 00:39:13,440
|
|
really useful label and you can just
|
|
|
|
1241
|
|
00:39:12,400 --> 00:39:15,39
|
|
{inaudible share/pick} the one that you want and we maintain those one
|
|
|
|
1243
|
|
00:39:15,39 --> 00:39:18,880
|
|
so we have some that are coming from
|
|
|
|
1244
|
|
00:39:16,960 --> 00:39:21,39
|
|
third party, some that we are collecting
|
|
|
|
1245
|
|
00:39:18,880 --> 00:39:23,39
|
|
as each projects are creating.
|
|
|
|
1246
|
|
00:39:21,39 --> 00:39:24,719
|
|
It's really usually a good source to see
|
|
|
|
1247
|
|
00:39:23,39 --> 00:39:26,838
|
|
how other communities are using
|
|
|
|
1248
|
|
00:39:24,719 --> 00:39:28,639
|
|
classifying and contextualizing the
|
|
|
|
1249
|
|
00:39:26,838 --> 00:39:30,480
|
|
information, there nevertheless the
|
|
|
|
1250
|
|
00:39:28,639 --> 00:39:35,759
|
|
taxonomy itself was like kind of labels, those labels were quite small
|
|
|
|
1253
|
|
00:39:33,519 --> 00:39:36,960
|
|
so it was not like completely extensive information so
|
|
|
|
1255
|
|
00:39:36,960 --> 00:39:41,39
|
|
over the time we maintain a kind of more extensive one called the galaxy
|
|
|
|
1257
|
|
00:39:41,39 --> 00:39:47,279
|
|
you will hear the term very often
|
|
|
|
1258
|
|
00:39:44,79 --> 00:39:49,200
|
|
those galaxies are defining many things
|
|
|
|
1259
|
|
00:39:47,280 --> 00:39:51,40
|
|
for example one of the most common one is the threat actor
|
|
|
|
1261
|
|
00:39:50,39 --> 00:39:54,400
|
|
we have a huge database of threat actors but a lot of
|
|
|
|
1262
|
|
00:39:52,800 --> 00:39:56,400
|
|
times it was extended
|
|
|
|
1263
|
|
00:39:54,400 --> 00:39:58,320
|
|
for example, Microsoft is not using
|
|
|
|
1264
|
|
00:39:56,400 --> 00:39:59,358
|
|
threat actors for example there is this activity group is part of the
|
|
|
|
1266
|
|
00:39:59,358 --> 00:40:05,119
|
|
galaxy, it's really one that we
|
|
|
|
1267
|
|
00:40:02,400 --> 00:40:05,760
|
|
use for different and you can represent whatever
|
|
|
|
1269
|
|
00:40:05,760 --> 00:40:09,280
|
|
galaxy you want so you have a predefined
|
|
|
|
1270
|
|
00:40:07,358 --> 00:40:10,960
|
|
set of existing one but you can create your own
|
|
|
|
1272
|
|
00:40:10,960 --> 00:40:14,400
|
|
so if you have your own threat actor database
|
|
|
|
1273
|
|
00:40:12,880 --> 00:40:16,480
|
|
you can create your own from scratch or
|
|
|
|
1274
|
|
00:40:14,400 --> 00:40:17,280
|
|
you can reuse and fork existing ones so
|
|
|
|
1275
|
|
00:40:16,480 --> 00:40:18,480
|
|
that's really those kind of things that we manage in
|
|
|
|
1277
|
|
00:40:18,480 --> 00:40:21,920
|
|
the project is not only code and software
|
|
|
|
1278
|
|
00:40:20,318 --> 00:40:23,39
|
|
we manage those kind of knowledge base
|
|
|
|
1280
|
|
00:40:23,39 --> 00:40:27,759
|
|
for intelligent {inaudible} organization
|
|
|
|
1281
|
|
00:40:26,79 --> 00:40:29,200
|
|
we have some specific one like the notice list
|
|
|
|
1283
|
|
00:40:28,899 --> 00:40:32,480
|
|
this one is a pretty small one that you use for the GDPR aspect
|
|
|
|
1285
|
|
00:40:32,480 --> 00:40:36,480
|
|
but this one can be used for anything you want,
|
|
|
|
1287
|
|
00:40:35,480 --> 00:40:40,960
|
|
It's for informing the analyst or the user of MISP when he
|
|
|
|
1288
|
|
00:40:39,358 --> 00:40:41,440
|
|
touched some specific information in MISP
|
|
|
|
1290
|
|
00:40:41,440 --> 00:40:45,280
|
|
that could impact for example the legal framework and so on
|
|
|
|
1292
|
|
00:40:44,280 --> 00:40:49,280
|
|
it's actively use in the intelligence community,
|
|
|
|
1293
|
|
00:40:47,119 --> 00:40:50,960
|
|
law enforcement and so on maybe less in
|
|
|
|
1294
|
|
00:40:49,280 --> 00:40:52,880
|
|
security operation center but it's
|
|
|
|
1295
|
|
00:40:50,960 --> 00:40:54,880
|
|
coming more and more due to the legal
|
|
|
|
1296
|
|
00:40:52,880 --> 00:40:56,240
|
|
side of information sharing and
|
|
|
|
1297
|
|
00:40:54,880 --> 00:40:58,480
|
|
especially storing information that might contain personal information
|
|
|
|
1299
|
|
00:40:58,480 --> 00:41:02,480
|
|
then we have another one called the
|
|
|
|
1300
|
|
00:40:59,679 --> 00:41:08,159
|
|
warning list and Andras quickly mentioned this kind of recurring problems or false positives
|
|
|
|
1303
|
|
00:41:06,559 --> 00:41:12,719
|
|
and the one in MISP are basically list of existing potential false positives
|
|
|
|
1305
|
|
1306
|
|
00:41:12,719 --> 00:41:17,439
|
|
for example we have lists of well-known IP addresses from Microsoft, for example.
|
|
|
|
1308
|
|
00:41:17,440 --> 00:41:20,800
|
|
We have list of things like domain names used by Google and so on
|
|
|
|
1310
|
|
00:41:20,800 --> 00:41:25,599
|
|
that's already helping users to find out
|
|
|
|
1311
|
|
00:41:23,519 --> 00:41:27,119
|
|
if something might be a false positive
|
|
|
|
1312
|
|
00:41:25,599 --> 00:41:28,559
|
|
and we do that automatically and we
|
|
|
|
1313
|
|
00:41:27,119 --> 00:41:30,800
|
|
maintain those libraries because one {inaudible MISP/reason} they're automatically updated regularly
|
|
|
|
1315
|
|
00:41:30,800 --> 00:41:34,79
|
|
I think we have around 50 lists nowadays
|
|
|
|
1318
|
|
00:41:34,79 --> 00:41:38,160
|
|
It's really useful when you do on a day-to-day basis and creating events and
|
|
|
|
1320
|
|
00:41:38,159 --> 00:41:41,838
|
|
so on you can really find and spot things that might be a false positive in advance
|
|
|
|
1323
|
|
00:41:41,838 --> 00:41:48,0
|
|
2503.119 --> 2508
|
|
by having those warning lists enabled
|
|
|
|
1324
|
|
00:41:45,280 --> 00:41:49,839
|
|
and again it's up to the user to select
|
|
|
|
1325
|
|
00:41:48,0 --> 00:41:53,39
|
|
2508 --> 2511.04
|
|
one {inaudible} warning list or to enable everything depending on the different use case
|
|
|
|
1328
|
|
00:41:52,800 --> 00:41:55,920
|
|
so that's one of those {inaudible} pillar
|
|
|
|
1329
|
|
00:41:54,480 --> 00:41:57,519
|
|
knowledge base I mean a lot of
|
|
|
|
1330
|
|
00:41:55,920 --> 00:41:57,519
|
|
contributions coming from threat parties
|
|
|
|
1332
|
|
00:41:57,519 --> 00:42:02,480
|
|
are coming from that aspect so it's not really programmers
|
|
|
|
1333
|
|
00:42:00,719 --> 00:42:03,679
|
|
or coders that are contributing there
|
|
|
|
1334
|
|
00:42:02,480 --> 00:42:05,599
|
|
but it's more analysts and people doing really threat intelligence
|
|
|
|
1336
|
|
00:42:05,599 --> 00:42:10,160
|
|
or classification and so on
|
|
|
|
1337
|
|
00:42:08,318 --> 00:42:12,79
|
|
is really something that is useful for everyone
|
|
|
|
1338
|
|
00:42:10,159 --> 00:42:14,159
|
|
without being your direct contributions on the code
|
|
|
|
1340
|
|
00:42:14,159 --> 00:42:18,719
|
|
then over the times we we we became a kind of de facto standard and
|
|
|
|
1342
|
|
00:42:18,719 --> 00:42:22,480
|
|
uh nowadays is even more than a de facto standard, is a standard
|
|
|
|
1344
|
|
00:42:22,480 --> 00:42:27,199
|
|
We published as an interesting engineering task force draft
|
|
|
|
1346
|
|
00:42:27,199 --> 00:42:31,439
|
|
all those documents especially the core format
|
|
|
|
1348
|
|
00:42:31,440 --> 00:42:35,200
|
|
and to ease that for the development of external tools
|
|
1350
|
|
00:42:35,199 --> 00:42:39,279
|
|
integration and so on.
|
|
|
|
1351
|
|
00:42:38,0 --> 00:42:40,119
|
|
2558 --> 2561.119
|
|
So if you're interested you can go to the
|
|
|
|
1352
|
|
00:42:39,280 --> 00:42:42,319
|
|
MISP platform website where we describe the different standards that we
|
|
|
|
1354
|
|
00:42:42,318 --> 00:42:47,199
|
|
published. We even co-host standards that are for people
|
|
|
|
1356
|
|
00:42:47,199 --> 00:42:51,598
|
|
integrating with MISP
|
|
|
|
1357
|
|
00:42:50,480 --> 00:42:53,599
|
|
and we have specific standards for example for the object template
|
|
|
|
1359
|
|
00:42:53,599 --> 00:42:56,800
|
|
and that's something that we will talkabout but that's something that was
|
|
|
|
1360
|
|
00:42:54,800 --> 00:42:58,79
|
|
|
|
1361
|
|
00:42:56,800 --> 00:42:59,839
|
|
really a need for us from the early beginning of MISP
|
|
|
|
1363
|
|
00:42:59,838 --> 00:43:02,799
|
|
a lot of organizations want to have their own structure of information
|
|
|
|
1365
|
|
00:43:02,800 --> 00:43:06,880
|
|
about objects and so on and we have a flexible model in MISP to
|
|
|
|
1367
|
|
00:43:06,880 --> 00:43:11,358
|
|
really create your own data models and this one is standardized too
|
|
|
|
1369
|
|
00:43:11,358 --> 00:43:15,358
|
|
and it's really helping sharing communities to
|
|
|
|
1371
|
|
00:43:15,358 --> 00:43:20,318
|
|
extend MISP as they wish and their models without breaking the
|
|
|
|
1373
|
|
00:43:20,318 --> 00:43:24,79
|
|
the standards itself so that's really interesting for for showing you new models
|
|
|
|
1376
|
|
00:43:24,79 --> 00:43:28,79
|
|
and then next to that we will do everything possible to help community
|
|
|
|
1378
|
|
00:43:28,79 --> 00:43:31,359
|
|
and Andras just mentioned the question of the
|
|
|
|
1380
|
|
00:43:31,358 --> 00:43:35,679
|
|
legal aspect and I think maybe some of
|
|
|
|
1381
|
|
00:43:33,599 --> 00:43:38,640
|
|
you already have this order to
|
|
|
|
1382
|
|
00:43:35,679 --> 00:43:40,399
|
|
seek legal team about the information sharing policies and so on
|
|
|
|
1384
|
|
00:43:40,400 --> 00:43:44,880
|
|
we try to make it easier so we publish this kind of compliance document
|
|
|
|
1386
|
|
00:43:44,880 --> 00:43:48,160
|
|
and so on it's part of the MISP project
|
|
|
|
1387
|
|
00:43:46,719 --> 00:43:50,879
|
|
everything is open source again so everything we do is open source and
|
|
|
|
1389
|
|
00:43:50,880 --> 00:43:55,760
|
|
on open access. You can reuse it and so on. We have for example a specific
|
|
|
|
1391
|
|
00:43:55,760 --> 00:44:01,679
|
|
document about building communities which is something that we do within the X-ISAC project
|
|
|
|
1394
|
|
00:44:01,679 --> 00:44:08,960
|
|
and it's containing kind of best practices what are kind of agreement that you can
|
|
|
|
1397
|
|
00:44:08,960 --> 00:44:11,119
|
|
use when doing a setup of sharing communities.
|
|
|
|
1399
|
|
00:44:11,119 --> 00:44:15,440
|
|
Up to things about how to do contextualization and so on
|
|
|
|
1400
|
|
00:44:13,280 --> 00:44:17,40
|
|
so that's that's maybe something that
|
|
|
|
1401
|
|
00:44:15,440 --> 00:44:17,519
|
|
for an organization that wants to boost up an ISAC or sharing communities they can
|
|
|
|
1404
|
|
00:44:19,760 --> 00:44:23,760
|
|
look at those documents and so on so it's again a thing that we try to help
|
|
|
|
1406
|
|
00:44:23,760 --> 00:44:30,800
|
|
for example we produce kind of OSINT feeds of existing reports and so on to
|
|
|
|
1408
|
|
00:44:30,800 --> 00:44:36,880
|
|
not only have software ready but to have some content and to show what kind of
|
|
|
|
1411
|
|
00:44:36,880 --> 00:44:42,559
|
|
information can be shared within different MISP communities.
|
|
|
|
1413
|
|
00:44:42,559 --> 00:44:48,880
|
|
So let us some get some of the naming conventions out of the way
|
|
|
|
1415
|
|
00:44:48,880 --> 00:44:52,880
|
|
before we start with the hands-on stuff and
|
|
|
|
1416
|
|
00:44:50,400 --> 00:44:58,719
|
|
just a quick explanation of the different uh data points and uh and naming conventions
|
|
|
|
1419
|
|
00:44:57,119 --> 00:45:00,400
|
|
that we use for them so it's a bit easier afterwards
|
|
|
|
1421
|
|
00:45:00,400 --> 00:45:08,0
|
|
this can be a bit overwhelming, don't worry we'll go through everything step by step also
|
|
|
|
1424
|
|
00:45:04,639 -->
|
|
during the hands-on part
|
|
|
|
1426
|
|
00:45:05,519 --> 00:45:13,440
|
|
So basically all the data that goes into MISP, we separate into two main layers
|
|
|
|
1427
|
|
00:45:11,358 --> 00:45:14,880
|
|
one we call data layer which is really everything it has to do with
|
|
|
|
1429
|
|
00:45:14,880 --> 00:45:22,0
|
|
individual data points their compositioning and so on
|
|
|
|
1432
|
|
00:45:20,400 --> 00:45:23,358
|
|
So everything that we share in MISP in general in this regard
|
|
|
|
1433
|
|
00:45:22,0 --> 00:45:25,199
|
|
2722 --> 2725.2
|
|
starts with something that we call an event, these are our general
|
|
|
|
1435
|
|
00:45:25,199 --> 00:45:28,559
|
|
envelopes for information so that means that
|
|
|
|
1437
|
|
00:45:28,559 --> 00:45:32,960
|
|
whenever we're describing an incident, we're describing a threat report
|
|
|
|
1439
|
|
00:45:32,960 --> 00:45:36,0
|
|
2732.96 --> 2736
|
|
we're describing a watch list that we recurringly update
|
|
|
|
1441
|
|
00:45:36,0 --> 00:45:40,400
|
|
2736 --> 2740.4
|
|
and they will all be grouped into something that we call an event
|
|
|
|
1443
|
|
00:45:40,400 --> 00:45:45,680
|
|
So the name is a little bit controversial at times, we try to pick a name
|
|
|
|
1445
|
|
00:45:45,679 --> 00:45:49,519
|
|
that is the least amount of a loaded term that we could find
|
|
|
|
1448
|
|
00:45:51,440 --> 00:45:56,240
|
|
but obviously even with that there it can be a bit confusing but just consider
|
|
|
|
1450
|
|
00:45:56,239 -->
|
|
it as a generic container for data that has some contextual linking
|
|
|
|
1453
|
|
00:45:59,39 --> 00:46:06,318
|
|
then each of these events is populated with lists of attributes.
|
|
|
|
1455
|
|
00:46:05,318 --> 00:46:09,838
|
|
So attributes are the most basic data points in MISP
|
|
|
|
1457
|
|
00:46:09,838 --> 00:46:13,279
|
|
an attribute can describe for example an IP address
|
|
|
|
1459
|
|
00:46:13,280 --> 00:46:21,199
|
|
you can describe a file hash or it can describe a car plate number for example
|
|
|
|
1462
|
|
00:46:21,199 --> 00:46:27,759
|
|
It's basically just an individual data point with some basic context around it
|
|
|
|
1465
|
|
00:46:27,760 --> 00:46:30,800
|
|
such as describing in what context this was seen in
|
|
|
|
1467
|
|
00:46:30,800 --> 00:46:32,960
|
|
what type we're using to describe the attribute,
|
|
|
|
1469
|
|
00:46:32,960 --> 00:46:39,679
|
|
for example that we're using an MD5 hash to describe the hash of a file
|
|
|
|
1471
|
|
00:46:39,679 --> 00:46:44,318
|
|
would be one of those descriptions, hopefully not used as much these days
|
|
|
|
1473
|
|
00:46:44,318 --> 00:46:51,920
|
|
but that's just an example and then we can take these individual attributes
|
|
|
|
1476
|
|
00:46:49,599 --> 00:46:55,318
|
|
and composite them into what we call objects that are describing multifaceted concepts.
|
|
|
|
1478
|
|
00:46:54,318 --> 00:46:59,440
|
|
For example, a file object would be described by a list of attributes
|
|
|
|
1480
|
|
00:46:59,440 --> 00:47:05,760
|
|
including a file name, different file hashes, maybe file entropy and so on and so forth.
|
|
|
|
1484
|
|
00:47:05,760 --> 00:47:11,440
|
|
Each of these individual objects and attributes can then be further interlinked by what we call references.
|
|
|
|
1487
|
|
00:47:11,440 --> 00:47:15,119
|
|
So that means that most of the time when we're describing data in MISP
|
|
|
|
1489
|
|
00:47:15,119 --> 00:47:20,0
|
|
we're trying to tell a story so we're thinking graphs instead of individual data points
|
|
|
|
1492
|
|
00:47:20,0 --> 00:47:24,559
|
|
2840 --> 2844.559
|
|
that means that we can for example, describe the entire flow of an attack
|
|
|
|
1494
|
|
00:47:24,559 --> 00:47:28,79
|
|
from the initial attack vector all the way to the exploitation
|
|
|
|
1496
|
|
00:47:28,79 --> 00:47:33,599
|
|
using the interconnected graphs using these references so we could say
|
|
|
|
1498
|
|
00:47:33,599 --> 00:47:36,960
|
|
initially it all started with an email that was received
|
|
|
|
1500
|
|
00:47:36,960 --> 00:47:40,559
|
|
that contained for example a malicious sample which then had to send this effect
|
|
|
|
1503
|
|
00:47:42,480 --> 00:47:45,838
|
|
in our infrastructure so all of these different steps can be then described
|
|
|
|
1506
|
|
00:47:45,0 --> 00:47:53,519
|
|
2868 --> 2873.52
|
|
via different references there then to aggregate this information
|
|
|
|
1508
|
|
00:47:53,519 --> 00:47:58,79
|
|
into and aggregate the sightings of this information via structure
|
|
|
|
1510
|
|
00:47:58,79 --> 00:48:02,280
|
|
that basically captures sightings from our different information sources
|
|
|
|
1512
|
|
00:48:01,280 --> 00:48:05,760
|
|
that means if you have an IDS that is generating alerts
|
|
|
|
1514
|
|
00:48:05,760 --> 00:48:10,640
|
|
you can feed information back on when individual attributes were seen
|
|
|
|
1516
|
|
00:48:10,639 --> 00:48:16,159
|
|
in your network, in your premises or at your partners and so on
|
|
|
|
1518
|
|
00:48:16,159 --> 00:48:21,920
|
|
so this is basically it for the data layer, these are our main building blocks for that.
|
|
|
|
1521
|
|
00:48:21,920 --> 00:48:27,599
|
|
now in order to contextualize this information, we have different tools at our disposal.
|
|
|
|
1523
|
|
00:48:27,599 --> 00:48:32,160
|
|
The most simple one is what we call tags these are basic text labels that
|
|
|
|
1525
|
|
00:48:31,159 --> 00:48:35,598
|
|
we attach on individual data points or entire events
|
|
|
|
1527
|
|
00:48:35,599 --> 00:48:39,440
|
|
and these can either be created freely or most commonly they come from what we call taxonomies.
|
|
|
|
1530
|
|
00:48:41,519 --> 00:48:46,400
|
|
They're basically standardized vocabularies and that are either shared
|
|
|
|
1532
|
|
00:48:46,400 --> 00:48:54,880
|
|
by us so the MISP project at large or by individual communities to their members so
|
|
|
|
1535
|
|
00:48:53,119 --> 00:48:57,39
|
|
these vocabularies can include anything from for example something is simple and
|
|
|
|
1537
|
|
00:48:57,39 --> 00:49:01,279
|
|
and commonly used as TLP to national classifications
|
|
|
|
1540
|
|
00:49:01,279 --> 00:49:08,719
|
|
to various different sectoral classifications and so on
|
|
|
|
1541
|
|
00:49:06,318 --> 00:49:12,79
|
|
now if you wanted to provide more high-level information instead of just simple
|
|
|
|
1544
|
|
00:49:12,559 --> 00:49:16,640
|
|
labels for the information we can use what we call galaxy clusters
|
|
|
|
1546
|
|
00:49:16,639 --> 00:49:20,400
|
|
so galaxy cluster is basically a knowledge based element that we use as a label
|
|
|
|
1549
|
|
00:49:21,199 --> 00:49:24,879
|
|
these can be either coming from standard libraries
|
|
|
|
1551
|
|
00:49:24,880 --> 00:49:28,480
|
|
such as the ones that we maintain or you can create them ad-hoc in MISP.
|
|
|
|
1553
|
|
00:49:28,480 --> 00:49:30,0
|
|
That means if you're describing a threat actor
|
|
|
|
1555
|
|
00:49:30,0 --> 00:49:35,358
|
|
you could create create a threat actor galaxy cluster that describes the various metadata
|
|
|
|
1557
|
|
00:49:35,358 --> 00:49:38,558
|
|
about the threat actor and then use this to label your data whenever you think
|
|
|
|
1560
|
|
00:49:38,880 --> 00:49:42,160
|
|
that whatever you're describing is associated with a threat actor
|
|
|
|
1562
|
|
00:49:42,159 --> 00:49:46,480
|
|
you can also create for example a galaxy cluster describing the different
|
|
|
|
1564
|
|
00:49:46,480 --> 00:49:53,760
|
|
target sectors and then interlink using cluster relationships
|
|
|
|
1566
|
|
00:49:53,760 --> 00:50:04,559
|
|
the threat actor galaxy clusters with target sectors with exploited TTP and so on and so forth
|
|
|
|
1569
|
|
00:50:03,440 --> 00:50:07,39
|
|
So these are the high level structures that you can put on top of your data
|
|
|
|
1572
|
|
00:50:06,719 --> 00:50:14,838
|
|
basically to further contextualize it. Alex
|
|
|
|
1574
|
|
00:50:15,119 --> 00:50:21,39
|
|
Yeah, so just to summarize it and that's always a lot of people are asking about it
|
|
|
|
1577
|
|
00:50:21,199 --> 00:50:26,319
|
|
how do you summarize it about, for example in easy way you have to see really
|
|
|
|
1580
|
|
00:50:26,318 --> 00:50:29,838
|
|
MISP {inaudible environment/development} as an envelope and then you
|
|
|
|
1581
|
|
00:50:28,79 --> 00:50:32,318
|
|
have information inside and then what Andras describe is basically
|
|
|
|
1583
|
|
00:50:32,318 --> 00:50:34,800
|
|
different component that you have within that envelope and then you have
|
|
|
|
1586
|
|
00:50:35,760 --> 00:50:42,480
|
|
contextual layers on that envelope and relationship that are basically based on on that.
|
|
|
|
1589
|
|
00:50:42,880 --> 00:50:50,400
|
|
So, another thing that is very often and I think it is good to explain it, is about the
|
|
|
|
1592
|
|
00:50:48,960 --> 00:50:53,119
|
|
terminology between indicators, attributes, and so on that is
|
|
|
|
1594
|
|
00:50:53,119 --> 00:50:57,358
|
|
a different especially indicator of compromise and so on
|
|
|
|
1596
|
|
00:50:57,358 --> 00:51:01,440
|
|
In MISP, an attribute is close to an indicator
|
|
|
|
1598
|
|
00:51:01,440 --> 00:51:05,599
|
|
and we have this kind of flexible models where
|
|
|
|
1600
|
|
00:51:05,599 --> 00:51:09,200
|
|
maybe some of you are familiar with observables in MISP
|
|
|
|
1602
|
|
00:51:09,199 --> 00:51:13,440
|
|
we call it attributes and those observables are basically depending on the type
|
|
|
|
1605
|
|
00:51:13,440 --> 00:51:20,0
|
|
So, we have a specific flag in attributes which is basically defining
|
|
|
|
1608
|
|
00:51:20,0 --> 00:51:23,599
|
|
3080 --> 3083.599
|
|
if information can be used automatically for detection
|
|
|
|
1610
|
|
00:51:23,599 --> 00:51:29,960
|
|
and that's I think one of the most important aspects when we talk about attribute in MISP
|
|
|
|
1613
|
|
00:51:28,880 --> 00:51:34,119
|
|
an attribute can become an observable or become an indicator of compromise
|
|
|
|
1615
|
|
00:51:33,119 --> 00:51:37,880
|
|
depending on the simple flag and this is quite important because
|
|
|
|
1618
|
|
00:51:37,280 --> 00:51:43,599
|
|
a lot of analysis and so on will depend on that and especially all you will use that afterwards
|
|
|
|
1621
|
|
00:51:43,599 --> 00:51:48,39
|
|
if you plan for example to use the data into a protective systems and so on
|
|
|
|
1624
|
|
00:51:48,39 --> 00:51:54,79
|
|
the IDS flags need to be set so the thing is if I take an example
|
|
|
|
1626
|
|
00:51:54,79 --> 00:51:56,480
|
|
you reverse the malware and this malware is connected to google.com for testing the connectivity
|
|
|
|
1629
|
|
00:51:59,519 --> 00:52:04,79
|
|
obviously you will have an attribute for example www.google.com
|
|
|
|
1632
|
|
00:52:03,79 --> 00:52:09,440
|
|
and this one is an interesting indicator for information for the analyst
|
|
|
|
1634
|
|
00:52:09,440 --> 00:52:14,0
|
|
so like that you can for example maybe cluster those kind of malware together as in this kind of behavior
|
|
|
|
1637
|
|
00:52:14,0 --> 00:52:19,279
|
|
3134 --> 3136.64
|
|
nevertheless you are not really interested in that information as an indicator of compromise
|
|
|
|
1641
|
|
00:52:19,280 --> 00:52:23,480
|
|
because it will generate a huge amount of false positive
|
|
|
|
1644
|
|
00:52:23,480 --> 00:52:28,640
|
|
but if for example at some point you have an IP address that is really dedicated to that malware
|
|
|
|
1646
|
|
00:52:28,639 --> 00:52:39,719
|
|
then you will set the IDS flag, so the thing is when you define in MISP these flags
|
|
|
|
1649
|
|
00:52:38,760 --> 00:52:41,599
|
|
and we will show you later on it's very important because it will define what you can do
|
|
|
|
1652
|
|
00:52:41,599 --> 00:52:48,639
|
|
3164 --> 3166.64
|
|
with information later on if you're going to automate and so on like
|
|
|
|
1655
|
|
00:52:48,159 --> 00:52:52,239
|
|
In MISP, what we try to do too instead of having just indicators
|
|
|
|
1657
|
|
00:52:52,239 --> 00:52:57,280
|
|
it's very common and I think many of you know about it you might see for example
|
|
|
|
1660
|
|
00:52:57,280 --> 00:53:01,599
|
|
a list of hashes so like for example MD5 hashes without any context
|
|
|
|
1662
|
|
00:53:01,599 --> 00:53:05,280
|
|
and sometimes it's difficult to know exactly what we are talking about
|
|
|
|
1664
|
|
00:53:05,280 --> 00:53:11,599
|
|
Are we talking about MD5 of malicious sample, are we talking about md5 of legitimate software,
|
|
|
|
1667
|
|
00:53:11,599 --> 00:53:17,39
|
|
are we talking about the MD5 value of the X.509 certificate,
|
|
|
|
1669
|
|
00:53:17,39 --> 00:53:29,719
|
|
are we talking about an MD5 as a mutex in memory
|
|
|
|
1670
|
|
00:53:19,679 --> 00:53:25,759
|
|
we have plenty of way of seeing those kind of MD5 so we try in MISP to have what we call the
|
|
|
|
1673
|
|
00:53:25,759 --> 00:53:30,318
|
|
kind of I would not say {inaudible keep shine/kill shine} but at least contextualization a category that
|
|
|
|
1675
|
|
00:53:30,318 --> 00:53:35,279
|
|
help to see in which context this has been seen
|
|
|
|
1677
|
|
00:53:35,280 --> 00:53:41,119
|
|
and as for example if 1 MD5 might have a payload delivery, telling that in which scope this has been set
|
|
|
|
1680
|
|
00:53:40,559 --> 00:53:45,440
|
|
So that means in MISP we have always and complementary type
|
|
|
|
1682
|
|
00:53:45,440 --> 00:53:52,639
|
|
so for example for an MD5 files you can say that this one is from a file or is an md5 of a fingerprint thing
|
|
|
|
1686
|
|
00:53:52,639 --> 00:53:59,679
|
|
So that means, always in MISP try to have as an indicator all those three information together
|
|
|
|
1689
|
|
00:53:59,679 --> 00:54:06,639
|
|
so it is giving at least more context and if you cannot set this context MISP will try to automatically set it.
|
|
|
|
1692
|
|
00:54:05,639 --> 00:54:12,239
|
|
So attributes are equal to indicators but with a bit more of information which is useful for you
|
|
|
|
1695
|
|
00:54:12,239 --> 00:54:19,358
|
|
At least being in a way to understand what is in a position to understand what you have in front of you
|
|
|
|
1699
|
|
00:54:19,358 --> 00:54:28,400
|
|
when you have to treat those attributes.
|
|
|
|
1700
|
|
00:54:25,358 --> 00:54:29,920
|
|
So this is just a brief view of what this looks like.
|
|
|
|
1702
|
|
00:54:29,920 --> 00:54:36,239
|
|
We're going to see this more in practice basically the idea is that all the data that we have in MISP
|
|
|
|
1705
|
|
00:54:36,239 --> 00:54:43,798
|
|
if it's well defined allows us to draw a graph out of the data and allows us to tell a story more easily
|
|
|
|
1708
|
|
00:54:42,880 --> 00:54:55,798
|
|
So here we see a simple example that basically shows the bank account that is associated with the threat actor
|
|
|
|
1712
|
|
00:54:54,480 --> 00:55:00,679
|
|
With all the various different data points with it and then we can basically relate these
|
|
|
|
1715
|
|
00:54:59,280 --> 00:55:03,200
|
|
different data points to each other and give the relationship a term as well
|
|
|
|
1718
|
|
00:55:04,880 --> 00:55:08,160
|
|
So in this case we see from the chart immediately there that that person is the owner of that
|
|
|
|
1720
|
|
00:55:08,159 --> 00:55:13,119
|
|
bank account with all those different data points for us as humans it's it's generally much more
|
|
|
|
1724
|
|
00:55:13,119 --> 00:55:18,839
|
|
easily understood if we look at a graph like that and tell the story that way
|
|
|
|
1727
|
|
00:55:17,839 --> 00:55:22,480
|
|
then if we look at a tabularized view of the data.
|
|
|
|
1728
|
|
00:55:20,798 --> 00:55:24,239
|
|
So one of the goals and something that we hope that we get out of
|
|
|
|
1731
|
|
00:55:24,239 --> 00:55:32,480
|
|
going through trainings like these is to really convert also the participants
|
|
|
|
1732
|
|
00:55:29,679 --> 00:55:38,558
|
|
to to see the value of producing data in that way instead of just sharing raw indicator lists for example.
|
|
|
|
1735
|
|
00:55:40,0 --> 00:55:45,199
|
|
3340 --> 3343.2
|
|
And that's again what we think that's really important is the contextualization again.
|
|
|
|
1738
|
|
00:55:45,280 --> 00:55:50,480
|
|
So I mentioned we have the galaxies in MISP and we have plenty of representation
|
|
|
|
1741
|
|
00:55:50,318 --> 00:55:55,838
|
|
threat actors and so on and obviously one that is quite important is the MITRE Attack one
|
|
|
|
1744
|
|
00:55:54,719 --> 00:55:57,759
|
|
so MITRE Attack is {inaudible stored/performed} as a galaxy
|
|
|
|
1746
|
|
00:55:57,760 --> 00:56:01,520
|
|
and we have this flexible {inaudible mosaic/table} in MISP that you can represent those kind of
|
|
|
|
748
|
|
00:56:01,519 --> 00:56:07,39
|
|
matrix-like model which is a case for Attack which is a very convenient way of representing the
|
|
|
|
1752
|
|
00:56:07,679 --> 00:56:14,480
|
|
different techniques in a progressive way used by the attackers and that's exactly what we can do in MISP.
|
|
|
|
1755
|
|
00:56:14,159 --> 00:56:22,79
|
|
So you have this kind of model and we have different model formats so again we have an advanced
|
|
|
|
1758
|
|
00:56:22,79 --> 00:56:30,838
|
|
i would say integration with Attack but you can extend it with multiple different kinds of galaxies which are
|
|
|
|
1762
|
|
00:56:30,0 --> 00:56:33,838
|
|
3390 --> 3393.839
|
|
similar to Attack or complementary for example we have the Industrial Control System of Attack,
|
|
|
|
1765
|
|
00:56:34,400 --> 00:56:39,440
|
|
it's a separated galaxy, you can even create a custom one directly in the system
|
|
|
|
1768
|
|
00:56:39,440 --> 00:56:46,519
|
|
and then you can filter out your data and so on and that's exactly the thing why we are I would say
|
|
|
|
1771
|
|
00:56:46,880 --> 00:56:51,480
|
|
in bracket pushing people to do more contextualization, it would be useful forthem at the end
|
|
|
|
1774
|
|
00:56:51,599 --> 00:56:58,960
|
|
because this kind of information is really showing you for example your gap in your defense
|
|
|
|
1778
|
|
00:56:58,960 --> 00:57:02,720
|
|
your specific things that the techniques that are not used by an attacker
|
|
|
|
1780
|
|
00:57:02,719 --> 00:57:05,279
|
|
you might ask why, maybe because you are missing a specific detection point that you cannot
|
|
|
|
1783
|
|
00:57:05,279 --> 00:57:12,239
|
|
detect this kind of attacks or things like that so it's really actively using the data
|
|
|
|
1786
|
|
00:57:12,239 --> 00:57:15,759
|
|
to show something meaningful with it and I think Attack is one of the way
|
|
|
|
1788
|
|
00:57:15,760 --> 00:57:19,119
|
|
but if you can combine this with additional information like site links,
|
|
|
|
1789
|
|
00:57:19,119 --> 00:57:22,239
|
|
contextualization of the relationship between different objects and so on
|
|
|
|
1792
|
|
00:57:22,239 --> 00:57:26,558
|
|
basically everything in hand to improve your posture and secure it.
|
|
|
|
1794
|
|
00:57:26,559 --> 00:57:29,0
|
|
Yeah perhaps something to add to this as well,
|
|
|
|
1796
|
|
00:57:29,0 --> 00:57:33,838
|
|
some of the additional advantages is the moment that you encode all this information along
|
|
|
|
1798
|
|
00:57:33,838 --> 00:57:39,39
|
|
with the data you can start asking those those questions from your tool basically
|
|
|
|
1800
|
|
00:57:39,39 --> 00:57:47,838
|
|
for example show me what sort of threats my constituency is facing over the past year
|
|
|
|
1804
|
|
00:57:45,760 --> 00:57:49,760
|
|
and overlayed over how what sort of threats it was facing a year ago
|
|
|
|
1806
|
|
00:57:49,760 --> 00:57:52,319
|
|
what are the trends that have evolved since then
|
|
|
|
1808
|
|
00:57:52,318 --> 00:57:58,960
|
|
the other thing that it really helps with is it also gives you a high level overview of individual reports
|
|
|
|
1811
|
|
00:57:56,400 --> 00:58:06,78
|
|
that means if I'm looking at an event in MISP and it has 800 different attributes described in there
|
|
|
|
1815
|
|
00:58:06,79 --> 00:58:10,719
|
|
making any sense out of that quickly is very difficult, but getting a high level overview using MITRE Attack
|
|
|
|
1818
|
|
00:58:10,719 --> 00:58:16,239
|
|
where you say oh okay this has to deal with spearphishing, it has to deal with information exfiltration,
|
|
|
|
1821
|
|
00:58:16,239 --> 00:58:22,79
|
|
so these immediately tell me the story of what i'm dealing with without having to dig deeper into the data itself
|
|
|
|
1825
|
|
00:58:22,79 --> 00:58:27,480
|
|
so it is incredibly useful for an analyst that is trying to make sense of the data that you're sharing.
|
|
|
|
1828
|
|
00:58:27,480 --> 00:58:36,0
|
|
Also, as for the sharing itself I mean one of the main goals with MISP is obviously to share information,
|
|
|
|
1831
|
|
00:58:36,0 --> 00:58:43,280
|
|
We haven't really talked about the sharing mechanisms yet, we basically have a bunch of different functionalities in MISP
|
|
|
|
1834
|
|
00:58:42,880 --> 00:58:48,639
|
|
that we're going to see over the next two days the deal with distributing the information.
|
|
|
|
1838
|
|
00:58:48,639 --> 00:58:55,280
|
|
One of the most obvious ones to tackle is basically who is to be the recipient of information that we're sharing
|
|
|
|
1842
|
|
00:58:55,280 --> 00:59:04,400
|
|
so basically MISP, we can basically set the distribution settings for each individual data point individually
|
|
|
|
1846
|
|
00:59:04,400 --> 00:59:10,760
|
|
or for entire collections of data in one shot so that means if we create an event we can decide who we share the event with
|
|
|
|
1849
|
|
00:59:09,760 --> 00:59:15,160
|
|
but we can further restrict individual attributes or objects further.
|
|
|
|
1854
|
|
00:59:14,838 --> 00:59:26,79
|
|
Now, who we share the information with gets decided on using one of two different means,
|
|
|
|
1857
|
|
00:59:25,79 --> 00:59:29,39
|
|
one of them is a simple system where we tell MISP you are allowed to distribute it to everyone
|
|
|
|
1858
|
|
00:59:28,440 --> 00:59:31,280
|
|
that has access to this community, for example.
|
|
|
|
1860
|
|
00:59:31,280 --> 00:59:39,440
|
|
Or to everyone that is directly connected to my community but you can also define more strict distribution lists
|
|
|
|
1863
|
|
00:59:37,838 --> 00:59:44,400
|
|
what we call sharing groups where you individually name the organizations that are to be the recipients.
|
|
|
|
1868
|
|
00:59:44,400 --> 00:59:52,159
|
|
Now on top of that, one of the things that we often struggle with is especially if you're in some of those communities
|
|
|
|
1872
|
|
00:59:51,159 --> 01:00:01,39
|
|
or you're taking part or assisting some of the communities where sharing any information might lead to reputation or financial loss.
|
|
|
|
1876
|
|
01:00:01,39 --> 01:00:04,318
|
|
For example in the financial sector we have these worries very often
|
|
|
|
1878
|
|
01:00:04,318 --> 01:00:08,318
|
|
where if a financial organization were to share any information out
|
|
|
|
1880
|
|
01:00:08,318 --> 01:00:11,838
|
|
it could be misconstrued as a successful attack against them.
|
|
|
|
1882
|
|
01:00:11,838 --> 01:00:15,719
|
|
So instead, they choose to basically even if it was something completely benign
|
|
|
|
1884
|
|
01:00:14,719 --> 01:00:20,239
|
|
that they caught in their sandboxes, in their honeypots, whatever
|
|
|
|
1887
|
|
01:00:19,199 --> 01:00:24,399
|
|
and they decide not to share it out of fear of incurring this reputation loss.
|
|
|
|
1889
|
|
01:00:24,399 --> 01:00:29,440
|
|
So one of the things that we have in MISP is this system called Delegation
|
|
|
|
1891
|
|
01:00:29,440 --> 01:00:31,920
|
|
where you can, for example appoint your ISAC,
|
|
|
|
1892
|
|
01:00:29,679 --> 01:00:38,558
|
|
your central authority for a community, a national CSIRT, whatever
|
|
|
|
1893
|
|
01:00:38,558 --> 01:00:41,599
|
|
with the responsibility of taking over the data that you produce
|
|
|
|
1898
|
|
01:00:41,599 --> 01:00:43,480
|
|
and to share it out in their name
|
|
|
|
1900
|
|
01:00:43,480 --> 01:00:48,838
|
|
so that way, it's basically a semi anonymized information sharing
|
|
|
|
1901
|
|
01:00:48,559 --> 01:00:50,880
|
|
where you are completely removed from the data that is shared out
|
|
|
|
1903
|
|
01:00:50,880 --> 01:00:55,500
|
|
so the only two parties that will know who the originator of the data is you
|
|
|
|
1904
|
|
01:00:55,500 --> 01:01:01,500
|
|
and whoever is taking over the data and taking over responsibility for the data.
|
|
|
|
1909
|
|
01:01:02,0 --> 01:01:05,280
|
|
On top of that, one of the things that we wanted to achieve with MISP
|
|
|
|
1911
|
|
01:01:05,280 --> 01:01:08,720
|
|
was basically to build a collaboration with our different partners
|
|
|
|
1913
|
|
01:01:08,719 --> 01:01:11,519
|
|
so it means that whenever we're sharing information we don't want it to
|
|
|
|
1915
|
|
01:01:11,519 --> 01:01:14,358
|
|
be a one-way communication, so we don't want to have
|
|
|
|
1916
|
|
01:01:13,358 --> 01:01:17,500
|
|
this whole feed, provider and consumers relationship
|
|
|
|
1919
|
|
01:01:17,500 --> 01:01:20,798
|
|
but we want everyone to be able to chip in with their ideas
|
|
|
|
1920
|
|
01:01:20,798 --> 01:01:24,559
|
|
so while anything that you produce in MISP will only be tied and editable
|
|
|
|
1921
|
|
01:01:24,559 --> 01:01:28,719
|
|
by your organization, others can make proposals or counter analysis to it.
|
|
|
|
1924
|
|
01:01:28,719 --> 01:01:32,919
|
|
So proposals are a system where you can basically flag information
|
|
|
|
1926
|
|
01:01:32,919 --> 01:01:37,0
|
|
as incorrect and provide feedback on how to improve it
|
|
|
|
1928
|
|
01:01:37,0 --> 01:01:40,0
|
|
or how you can add your own perspective to an event,
|
|
|
|
1930
|
|
01:01:40,0 --> 01:01:42,0
|
|
so if you receive an event from a third party you can say
|
|
|
|
1931
|
|
01:01:42,0 --> 01:01:44,400
|
|
oh I can improve it and {inaudible listen/discern} this way
|
|
|
|
1932
|
|
01:01:44,400 --> 01:01:46,8
|
|
please incorporate these changes in the event
|
|
|
|
1933
|
|
01:01:46,318 --> 01:01:49,500
|
|
and then the original producer can make the decision
|
|
|
|
1935
|
|
01:01:48,500 --> 01:01:51,519
|
|
whether to incorporate it or discard your changes.
|
|
|
|
1936
|
|
01:01:51,519 --> 01:01:55,358
|
|
As for counter analysis, this is what we call extend events.
|
|
|
|
1938
|
|
01:01:55,358 --> 01:01:59,358
|
|
You can basically create an event that latches onto an original
|
|
|
|
1940
|
|
01:01:59,358 --> 01:02:03,38
|
|
shared by a third party and provide your own perspective of it.
|
|
|
|
1942
|
|
01:02:03,0 --> 01:02:06,160
|
|
and then you keep full control of the data and you become the owner
|
|
|
|
1945
|
|
01:02:06,160 --> 01:02:09,440
|
|
of whatever the extension is that you produce to the original event.
|
|
|
|
1946
|
|
01:02:09,440 --> 01:02:17,280
|
|
This happens very often for us, for example when a vendor shares out a report.
|
|
|
|
1949
|
|
01:02:17,280 --> 01:02:21,0
|
|
For example, we get a report from say kaspersky and we have additional information
|
|
|
|
1951
|
|
01:02:20,0 --> 01:02:25,519
|
|
or we have a different opinion on something,
|
|
|
|
1954
|
|
01:02:25,519 --> 01:02:29,960
|
|
then we might create an extended event that we share out to our constituency
|
|
|
|
1957
|
|
01:02:28,960 --> 01:02:33,358
|
|
which if they have access to the original report will latch onto it
|
|
|
|
1958
|
|
01:02:33,358 --> 01:02:37,0
|
|
and it will show our perspective on top of the original.
|
|
|
|
1960
|
|
01:02:37,519 --> 01:02:41,440
|
|
Now as for the exchange itself, every organization is free to host their own
|
|
|
|
1962
|
|
01:02:41,440 --> 01:02:44,960
|
|
MISP instance and then they can decide who they want to interconnect with
|
|
|
|
1964
|
|
01:02:44,960 --> 01:02:48,240
|
|
if both parties agree, a synchronization link is established
|
|
|
|
1966
|
|
01:02:48,239 --> 01:02:51,838
|
|
between the two MISP instance and sharing can start flowing between them.
|
|
|
|
1968
|
|
01:02:51,838 --> 01:02:55,0
|
|
Now this sharing is still governed by those distribution lists
|
|
|
|
1970
|
|
01:02:54,500 --> 01:02:59,199
|
|
and by some other mechanism that we'll talk about more tomorrow
|
|
|
|
1972
|
|
01:02:59,199 --> 01:03:04,0
|
|
but basically MISP exchanges information between the individual nodes
|
|
|
|
1974
|
|
01:03:02,798 --> 01:03:06,880
|
|
in kind of a mesh network way.
|
|
|
|
1976
|
|
01:03:06,880 --> 01:03:10,0
|
|
We also have feed system that allows us to generate feeds
|
|
|
|
1977
|
|
01:03:10,0 --> 01:03:11,960
|
|
and to share those feeds with larger communities.
|
|
|
|
1979
|
|
01:03:11,960 --> 01:03:15,559
|
|
So we as CIRCL we provide another SIEM feed, for example
|
|
|
|
1980
|
|
01:03:15,280 --> 01:03:20,0
|
|
that we make freely available in our infrastructure
|
|
|
|
1981
|
|
01:03:20,0 --> 01:03:22,440
|
|
anyone can just point their MISP to it and adjust the data
|
|
|
|
1983
|
|
01:03:22,440 --> 01:03:26,119
|
|
and keep it updated using the feed system, this is also great
|
|
|
|
1985
|
|
01:03:26,119 --> 01:03:30,0
|
|
if you have ever have the need of sharing information between air gap systems.
|
|
|
|
1986
|
|
01:03:29,559 --> 01:03:37,0
|
|
You can just generate a feed based on certain filter rules and basically
|
|
|
|
1989
|
|
01:03:37,0 --> 01:03:43,0
|
|
share it through say a flash drive or something like that, with an internal system
|
|
|
|
1993
|
|
01:03:44,0 --> 01:03:48,720
|
|
Now all of these filtering options are basically user defined
|
|
|
|
1994
|
|
01:03:48,0 --> 01:03:50,880
|
|
and they rely heavily also on the contextualization
|
|
|
|
1997
|
|
01:03:50,880 --> 01:03:54,0
|
|
so very often what we're doing and especially
|
|
|
|
1998
|
|
01:03:53,639 --> 01:03:57,0
|
|
if you were ever signing up for the COVID instance that I mentioned before
|
|
|
|
2000
|
|
01:03:57,0 --> 01:04:00,559
|
|
is you can also make those decisions based on the context,
|
|
|
|
2002
|
|
01:04:00,559 --> 01:04:02,960
|
|
what data you're interested in, what date you're interested in sharing out.
|
|
|
|
2004
|
|
01:04:02,960 --> 01:04:06,400
|
|
For example, if you connect to COVID instance, we categorize all of the
|
|
|
|
2006
|
|
01:04:06,400 --> 01:04:10,79
|
|
information into three categories, health related information
|
|
|
|
2008
|
|
01:04:9,79 --> 01:04:12,720
|
|
so basically information about the spread of the pandemic,
|
|
|
|
2010
|
|
01:04:12,719 --> 01:04:16,399
|
|
information about misinformation targeting COVID,
|
|
|
|
2012
|
|
01:04:16,400 --> 01:04:22,0
|
|
and also cyber security threats that are targeting, that are now basically
|
|
|
|
2014
|
|
01:04:21,0 --> 01:04:27,0
|
|
abusing the whole COVID situation with remote work and so on.
|
|
|
|
2016
|
|
01:04:27,0 --> 01:04:30,0
|
|
so if you're only interested in one or two of these three different topics,
|
|
|
|
2019
|
|
01:04:30,0 --> 01:04:36,0
|
|
then you can set up your filters to only ingest data coming from a subset of the data set
|
|
|
|
2021
|
|
01:04:36,0 --> 01:04:39,0
|
|
Very often what we do as well is we have these internal MISP clusters
|
|
|
|
2023
|
|
01:04:38,480 --> 01:04:44,0
|
|
in our own organization as well, where we collect information from different sources
|
|
|
|
2026
|
|
01:04:43,798 --> 01:04:48,798
|
|
so we have a dedicated MISP instance where we purely collect spam information for example
|
|
|
|
2029
|
|
01:04:48,798 --> 01:04:52,0
|
|
So for a constituency, anyone can forward their spam to us
|
|
|
|
2031
|
|
01:04:52,0 --> 01:04:55,358
|
|
and we'll just generate events out of those in that MISP.
|
|
|
|
2032
|
|
01:04:55,358 --> 01:04:56,38
|
|
Generally this information
|
|
|
|
2033
|
|
01:04:56,38 --> 01:05:00,480
|
|
is really not interesting for a day-to-day detection use, for example.
|
|
|
|
2036
|
|
01:05:00,480 --> 01:05:03,679
|
|
But what we do is we cache this information and we can cross-correlate
|
|
|
|
2038
|
|
01:05:03,679 --> 01:05:05,759
|
|
this information with our operational instance
|
|
|
|
2040
|
|
01:05:05,760 --> 01:05:11,839
|
|
that means if we start the analysis process and we start an investigation
|
|
|
|
2042
|
|
01:05:11,839 --> 01:05:14,239
|
|
then we immediately see the moment we start encoding data points
|
|
|
|
2044
|
|
01:05:14,239 --> 01:05:18,598
|
|
oh this is something that was already flagged once in our spam instance
|
|
|
|
2046
|
|
01:05:18,598 --> 01:05:210,359
|
|
this information that that instance knows about,
|
|
|
|
2048
|
|
01:05:210,359 --> 01:05:24,840
|
|
then we can pivot over to that instance and fetch the information
|
|
|
|
2049
|
|
01:05:24,840 --> 01:05:28,400
|
|
related to that same data point that we're also seeing in our current incident
|
|
|
|
2052
|
|
01:05:28,400 --> 01:05:32,0
|
|
and perhaps get more information that is relevant for us from there.
|
|
|
|
2054
|
|
01:05:32,0 --> 01:05:35,79
|
|
3932 --> 3936.079
|
|
So basically very often we have these multi MISP internal enclaves
|
|
|
|
2057
|
|
01:05:35,79 --> 01:05:42,0
|
|
that help us basically to separate different concerns and
|
|
|
|
2058
|
|
01:05:41,0 --> 01:05:44,0
|
|
different collection mechanisms into their own instances.
|
|
|
|
2060
|
|
01:05:45,440 --> 01:05:49,39
|
|
Just in that scope and I think is linked to the question that we had
|
|
|
|
2062
|
|
01:05:49,39 --> 01:05:52,799
|
|
regarding the multi MISP internal enclave
|
|
|
|
2064
|
|
01:05:52,798 --> 01:05:57,599
|
|
someone was asking about synchronizing with an existing MISP and so.
|
|
|
|
2066
|
|
01:05:57,599 --> 01:06:00,720
|
|
You have this kind of local enclave options, where you can synchronize to MISP
|
|
|
|
2068
|
|
01:06:00,719 --> 01:06:05,199
|
|
like they behave in the same organization, that's one of the interesting options.
|
|
|
|
2071
|
|
01:06:05,199 --> 01:06:09,358
|
|
By the way, I would just give the mic to Josh that will explain a bit more about
|
|
|
|
2074
|
|
01:06:09,358 --> 01:06:16,0
|
|
the question and answer in zoom, to have directly the ability to answer the question answering the Zoom {inaudible}
|
|
|
|
2077
|
|
01:06:18,400 --> 01:06:20,639
|
|
I just want to jump in real quick, yeah if you have any questions
|
|
|
|
2080
|
|
01:06:20,639 --> 01:06:26,400
|
|
please direct them at the Q&A board versus the chat room
|
|
|
|
2081
|
|
01:06:26,400 --> 01:06:28,0
|
|
that way we can kind of keep a monitor of that
|
|
|
|
2082
|
|
01:06:28,0 --> 01:06:32,0
|
|
and other people can actually see the questions and the answer directly in that area
|
|
|
|
2085
|
|
01:06:32,0 --> 01:06:38,0
|
|
so if you have questions feel free to use the Q&A board and that's all
|
|
|
|
2086
|
|
01:06:38,0 --> 01:06:43,199
|
|
thank you josh that's very useful so we can keep track of them and we can answer live or
|
|
|
|
2090
|
|
01:06:43,199 --> 01:06:44,700
|
|
directly in the chat.
|
|
|
|
2091
|
|
01:06:44,700 --> 01:06:49,520
|
|
Okay great, so you see that the sharing aspect of MISP is like pretty extensive
|
|
|
|
2094
|
|
01:06:49,520 --> 01:06:53,279
|
|
and you have different models of of usage of MISP
|
|
|
|
2097
|
|
01:06:53,279 --> 01:06:58,318
|
|
some people have this pre-conception about MISP being like oh I need to share with MISP
|
|
|
|
2099
|
|
01:06:58,318 --> 01:07:01,119
|
|
no, it's depending on what you want to do with your MISP instance
|
|
|
|
2101
|
|
01:07:01,119 --> 01:07:05,500
|
|
and the core functionality of MISP is really to give, I would say the freedom
|
|
|
|
2104
|
|
01:07:05,500 --> 01:07:11,0
|
|
to each of the organizations to decide what to do with the data, if they want to share or not
|
|
|
|
2106
|
|
01:07:11,0 --> 01:07:17,359
|
|
and we always design MISP that everyone can be kind of consumers
|
|
|
|
2109
|
|
01:07:17,359 --> 01:07:21,838
|
|
so that basically getting data from different fields or producer or contributors
|
|
|
|
2110
|
|
01:07:21,838 --> 01:07:29,0
|
|
Andras mentioned a different way of contributing like sightings, making proposals, things like that
|
|
|
|
2114
|
|
01:07:29,0 --> 01:07:34,240
|
|
but it's up to the original contributors to decide if they want to share
|
|
|
|
2117
|
|
01:07:34,240 --> 01:07:41,119
|
|
that's really the thing, with MISP you can set up a MISP for like just pulling data, getting the data and that's it
|
|
|
|
2120
|
|
01:07:41,119 --> 01:07:46,480
|
|
and if at one point in time you want to like push some data you can just enable it and that's it
|
|
|
|
2123
|
|
01:07:46,480 --> 01:07:51,0
|
|
so it's really, it's just a matter of just tuning the configuration ,
|
|
|
|
2126
|
|
01:07:51,0 --> 01:07:53,0
|
|
the filtering really on the synchronization, if you want to share.
|
|
|
|
2128
|
|
01:07:53,0 --> 01:07:55,838
|
|
So you don't have to change anything in your MISP instance
|
|
|
|
2129
|
|
01:07:55,838 --> 01:07:59,0
|
|
it's just a matter of of what you decide and what you need to share
|
|
|
|
2132
|
|
01:07:59,0 --> 01:08:01,500
|
|
and then the thing that is really important in MISP
|
|
|
|
2133
|
|
01:08:01,500 --> 01:08:05,760
|
|
everything can be in flex. I mean even for example that we were mentioning
|
|
|
|
2135
|
|
01:08:05,760 --> 01:08:10,240
|
|
so those kind of envelope information might change over time
|
|
|
|
2137
|
|
01:08:10,239 --> 01:08:15,0
|
|
we have seen for example some past or incident report that has been updated like
|
|
|
|
2140
|
|
01:08:15,0 --> 01:08:19,0
|
|
two years later because they discover who was the target or the threat actor behind
|
|
|
|
2142
|
|
01:08:19,0 --> 01:08:24,0
|
|
and that's the thing that's really in MISP that we really want to be flexible
|
|
|
|
2145
|
|
01:08:24,0 --> 01:08:29,500
|
|
you can really expand the information either internally, add some comment and so on
|
|
|
|
2147
|
|
01:08:29,500 --> 01:08:35,359
|
|
and to share this information in your different MISP instances and share with partners,
|
|
|
|
2150
|
|
01:08:35,359 --> 01:08:37,200
|
|
your teams and so on so.
|
|
|
|
2151
|
|
01:08:37,200 --> 01:08:42,0
|
|
Really, MISP the core functionality of MISP is distributing information
|
|
|
|
2153
|
|
01:08:42,0 --> 01:08:46,500
|
|
but if you don't want to use it it's fine you just don't enable synchronization
|
|
|
|
2156
|
|
01:08:46,500 --> 01:08:50,0
|
|
but if you want to use partially, part of synchronization and so on
|
|
|
|
2158
|
|
01:08:50,0 --> 01:08:53,838
|
|
you just set up this kind of parameters.
|
|
|
|
2160
|
|
01:08:55,0 --> 01:09:00,0
|
|
So on top of collecting all this information
|
|
|
|
2161
|
|
01:09:00,0 --> 01:09:03,0
|
|
and synchronizing the information that we talked about before
|
|
|
|
2162
|
|
01:09:03,0 --> 01:09:06,0
|
|
we basically do a bunch of different stuff to improve
|
|
|
|
2164
|
|
01:09:06,0 --> 01:09:08,0
|
|
to handle the quality management of the information as well.
|
|
|
|
2165
|
|
01:09:08,0 --> 01:09:11,0
|
|
So one of the first things we do, this is something we mentioned a bit before
|
|
|
|
2167
|
|
01:09:11,0 --> 01:09:16,0
|
|
is we correlate information so we're interested in data that we've already seen before
|
|
|
|
2170
|
|
01:09:16,0 --> 01:09:18,559
|
|
we also have the feedback loop that we mentioned before with sightings
|
|
|
|
2172
|
|
01:09:18,560 --> 01:09:22,0
|
|
that means we really want to get timeliness to the information as well
|
|
|
|
2175
|
|
01:09:22,0 --> 01:09:27,439
|
|
so that we can but make better decisions on what we keep in our working data set for detection,
|
|
|
|
2177
|
|
01:09:27,439 --> 01:09:29,5
|
|
for blocking and so on.
|
|
|
|
2178
|
|
01:09:29,520 --> 01:09:33,679
|
|
The false positive management is a huge part so the warning list system
|
|
|
|
2180
|
|
01:09:33,679 --> 01:09:37,0
|
|
where we basically exclude those typical false positives
|
|
|
|
2182
|
|
01:09:37,0 --> 01:09:41,440
|
|
plays a very important role in the legal equation and this is also a community driven effort
|
|
|
|
2184
|
|
01:09:41,439 --> 01:09:46,0
|
|
so if you want to get involved with that and build and include your own infrastructure
|
|
|
|
2187
|
|
01:09:46,0 --> 01:09:48,399
|
|
for example in the warning list and so on,
|
|
|
|
2189
|
|
01:09:48,399 --> 01:09:53,0
|
|
either do it internally for your MISP or just share it with the open source community as well
|
|
|
|
2191
|
|
01:09:53,0 --> 01:09:56,719
|
|
so let us know if you want to have that included as well
|
|
|
|
2193
|
|
01:09:56,719 --> 01:09:58,500
|
|
we haven't talked about enrichment systems yet
|
|
|
|
2195
|
|
01:09:58,500 --> 01:10:00,880
|
|
but basically one of the things that we do in MISP is
|
|
|
|
2196
|
|
01:10:00,880 --> 01:10:05,238
|
|
we have connectors to all those different services that you might already be subscribed to
|
|
|
|
2199
|
|
01:10:05,238 --> 01:10:11,439
|
|
so if you have domain tools, passive total or what way or any of the other services
|
|
|
|
2202
|
|
01:10:11,439 --> 01:10:15,439
|
|
intel 471, and so on that you already subscribed to, then you can use
|
|
|
|
2205
|
|
01:10:15,439 --> 01:10:19,600
|
|
those services to enrich the data that you're working on
|
|
|
|
2208
|
|
01:10:19,600 --> 01:10:22,0
|
|
so if you have an incident and you're encoding information
|
|
|
|
2209
|
|
01:10:22,0 --> 01:10:24,640
|
|
you go out to all the services that you connect, that you have access to
|
|
|
|
2210
|
|
01:10:24,640 --> 01:10:29,600
|
|
4224.64 --> 4228
|
|
and fetch the information on what else those systems know about the different data points that you're encoding
|
|
|
|
2213
|
|
01:10:29,600 --> 01:10:33,679
|
|
so that you basically get a jump start on your investigation.
|
|
|
|
2215
|
|
01:10:33,679 --> 01:10:37,119
|
|
Now one of the most important things that we have to deal with and this is probably
|
|
|
|
2217
|
|
01:10:37,119 --> 01:10:42,559
|
|
i think about 50% of the code base of MISP
|
|
|
|
2219
|
|
01:10:42,560 --> 01:10:46,560
|
|
is basically the APIs and the libraries that deal with integrating MISP with other tools
|
|
|
|
2221
|
|
01:10:46,560 --> 01:10:50,580
|
|
so everything that we can do by the UI, MISP is also exposed to the api
|
|
|
|
2223
|
|
01:10:50,580 --> 01:10:54,960
|
|
and one of the most important things for us is to make sure that
|
|
|
|
2225
|
|
01:10:54,960 --> 01:11:00,0
|
|
you can use MISP as simply a backend for another tool as opposed to just directly using MISP itself.
|
|
|
|
2228
|
|
01:11:00,0 --> 01:11:04,640
|
|
As for timeliness, we haven't really touched on that yet.
|
|
|
|
2230
|
|
01:11:04,640 --> 01:11:10,480
|
|
Besides the sighting aspect, you can also encode information about time ranges when something was seen
|
|
|
|
2233
|
|
01:11:10,480 --> 01:11:19,200
|
|
and you can build a full timeline of the events that occurred during a cyber incident for example.
|
|
|
|
2237
|
|
01:11:19,200 --> 01:11:22,719
|
|
So if you encode this information together with all your data points
|
|
|
|
2239
|
|
01:11:22,719 --> 01:11:26,960
|
|
then you get an additional graph out of it that tells you when what happens
|
|
|
|
2241
|
|
01:11:26,960 --> 01:11:30,0
|
|
and time-based correlations are really important as well.
|
|
|
|
2243
|
|
01:11:30,0 --> 01:11:33,599
|
|
So very often when you're seeing two things happening at the same time
|
|
|
|
2245
|
|
01:11:33,600 --> 01:11:35,800
|
|
they might be related with each other and
|
|
|
|
2248
|
|
01:11:35,800 --> 01:11:40,960
|
|
they might be worth digging into whether there is a link between those two things that happened.
|
|
|
|
2250
|
|
01:11:40,960 --> 01:11:43,480
|
|
So something else that we will touch on more tomorrow
|
|
|
|
2251
|
|
01:11:43,480 --> 01:11:47,200
|
|
is we have a full indicator lifecycle management system in MISP.
|
|
|
|
2254
|
|
01:11:47,200 --> 01:11:50,0
|
|
That means you can define your own rules and tune your own rules
|
|
|
|
2256
|
|
01:11:50,0 --> 01:11:53,500
|
|
on how you're going to be scoring and decaying indicators
|
|
|
|
2257
|
|
01:11:53,500 --> 01:11:57,119
|
|
based on all the contextualization that you have,
|
|
|
|
2258
|
|
01:11:57,119 --> 01:11:58,719
|
|
based on the type of the data that you have,
|
|
|
|
2259
|
|
01:11:58,719 --> 01:12:02,439
|
|
based on source of the information that you have and so on and so forth.
|
|
|
|
2260
|
|
01:12:02,439 --> 01:12:09,0
|
|
So we're going to go into much more detail on that tomorrow. Alex.
|
|
|
|
2265
|
|
01:12:15,359 --> 01:12:20,359
|
|
Yeah, so I was just answering a question and then I will make it public in a minute
|
|
|
|
2267
|
|
01:12:20,359 --> 01:12:25,639
|
|
that's a question about the API and using MISP.
|
|
|
|
2270
|
|
01:12:25,639 --> 01:12:30,0
|
|
There are different ways to evaluate the quality of the information that you share in MISP.
|
|
|
|
2273
|
|
01:12:30,0 --> 01:12:35,238
|
|
One of those is obviously to look at statistics, There is a statistics version in MISP to see
|
|
|
|
2276
|
|
01:12:35,238 --> 01:12:40,238
|
|
for example, the kind of indicator shared by organization and so on.
|
|
|
|
2278
|
|
01:12:40,238 --> 01:12:43,279
|
|
In addition to that, there is for example
|
|
|
|
2279
|
|
01:12:43,279 --> 01:12:46,279
|
|
MISP dashboard which includes a kind of gamification of the platforms
|
|
|
|
2281
|
|
01:12:46,279 --> 01:12:53,600
|
|
and which is giving badges per organization depending on the kind of information that you share
|
|
|
|
2284
|
|
01:12:53,600 --> 01:12:59,520
|
|
and that's a nice way to to find out if you are reaching a certain level of capabilities when using MISP
|
|
|
|
2287
|
|
01:12:59,520 --> 01:13:02,360
|
|
where you basically have for example information like
|
|
|
|
2289
|
|
01:13:02,360 --> 01:13:08,960
|
|
are you using sightings, do you use objects and stuff like that.
|
|
|
|
2292
|
|
01:13:08,960 --> 01:13:12,0
|
|
For example, thing that you can really look at if you want to see
|
|
|
|
2293
|
|
01:13:12,0 --> 01:13:14,480
|
|
if the quality of information that you create in MISP
|
|
|
|
2296
|
|
01:13:14,480 --> 01:13:19,560
|
|
i would just following the standards what is following the best practices in the different organization
|
|
|
|
2297
|
|
01:13:19,560 --> 01:13:22,640
|
|
is to compare with the {inaudible} feed
|
|
|
|
2300
|
|
01:13:22,640 --> 01:13:25,198
|
|
there are some goods even in the OSINT feed and
|
|
|
|
2301
|
|
01:13:25,198 --> 01:13:29,519
|
|
for example, things that are really a good indicator is to see
|
|
|
|
2303
|
|
01:13:29,520 --> 01:13:32,880
|
|
are you just using indicators and using objects,
|
|
|
|
2305
|
|
01:13:32,880 --> 01:13:35,0
|
|
are those objects linked together by using the relationship to it,
|
|
|
|
2306
|
|
01:13:35,0 --> 01:13:40,199
|
|
are you using galaxies, are those galaxies at the event level, {inaudible} level,
|
|
|
|
2308
|
|
01:13:40,198 --> 01:13:46,0
|
|
do you have tags, labels on specific objects or specific attributes and so on
|
|
|
|
2311
|
|
01:13:46,0 --> 01:13:52,960
|
|
that's different parameters and I think the question from {inaudible} is pretty good.
|
|
|
|
2315
|
|
01:13:52,960 --> 01:14:00,39
|
|
and if you really want to dive into the KPI aspect of MISP and quality of information.
|
|
|
|
2316
|
|
01:14:00,39 --> 01:14:03,239
|
|
In addition to what Andras just said
|
|
|
|
2320
|
|
01:14:03,239 --> 01:14:07,600
|
|
there are some other things about the quality of information shared within the community
|
|
|
|
2321
|
|
01:14:07,600 --> 01:14:11,920
|
|
and there's some good examples in the MISP dashboard about the different badges
|
|
|
|
2324
|
|
01:14:11,920 --> 01:14:16,0
|
|
there is even a model for sharing such kind of information.
|
|
|
|
2326
|
|
01:14:16,0 --> 01:14:19,0
|
|
So another thing that is I think quite useful and
|
|
|
|
2329
|
|
01:14:19,0 --> 01:14:23,520
|
|
it was one of the core functionality of MISP was the correlation features.
|
|
|
|
2330
|
|
01:14:23,520 --> 01:14:29,119
|
|
This one is, it looks like obvious but it's not always obvious
|
|
|
|
2332
|
|
01:14:29,119 --> 01:14:32,800
|
|
I mean a lot of tools in the security field exist but they don't do automatic correlations.
|
|
|
|
2334
|
|
01:14:32,800 --> 01:14:35,679
|
|
For example, at the {inaudible} we are using ticketing system
|
|
|
|
2337
|
|
01:14:37,119 --> 01:14:39,0
|
|
and sometimes it's very difficult to find if we have two correlating events
|
|
|
|
2338
|
|
01:14:39,0 --> 01:14:42,820
|
|
and what we decided in MISP which covers the cost.
|
|
|
|
2339
|
|
01:14:42,820 --> 01:14:48,800
|
|
I mean the correlation engine is maybe one of the costly aspects of using MISP on a database level.
|
|
|
|
2341
|
|
01:14:48,800 --> 01:14:49,919
|
|
but it's really useful.
|
|
|
|
2342
|
|
01:14:49,919 --> 01:14:52,500
|
|
For example, here we just have an example of
|
|
|
|
2343
|
|
01:14:52,500 --> 01:15:00,500
|
|
information about some malware spam that are used to share uh information about
|
|
|
|
2348
|
|
01:15:00,500 --> 01:15:04,239
|
|
target campaigns for the financial malware
|
|
|
|
2351
|
|
01:15:04,239 --> 01:15:09,819
|
|
and what we can see there is basically correlation on similar points
|
|
|
|
2352
|
|
01:15:09,819 --> 01:15:12,880
|
|
and those ones are mainly IP addresses of the infrastructure
|
|
|
|
2355
|
|
01:15:12,880 --> 01:15:16,0
|
|
but you can really spot interesting things there.
|
|
|
|
2357
|
|
01:15:16,0 --> 01:15:19,679
|
|
For example, you see that the third {inaudible bone/bin} in Germany share indicators,
|
|
|
|
2360
|
|
01:15:19,679 --> 01:15:24,0
|
|
you have a polish bank sharing the same kind of indicators
|
|
|
|
2361
|
|
01:15:24,0 --> 01:15:26,560
|
|
we were sharing such kind of indicators too
|
|
|
|
2362
|
|
01:15:26,560 --> 01:15:30,640
|
|
and even if they have different names or different contextualization
|
|
|
|
2365
|
|
01:15:30,640 --> 01:15:33,439
|
|
we can really spot similar infrastructure
|
|
|
|
2366
|
|
01:15:33,439 --> 01:15:39,198
|
|
so we can see okay, it's maybe the same actors using an infrastructure for different kind of things
|
|
|
|
2369
|
|
01:15:39,198 --> 01:15:45,679
|
|
or for example we can actually see here that we have different names of the similar malware
|
|
|
|
2372
|
|
01:15:45,679 --> 01:15:48,0
|
|
so really this is important for example another thing that is interesting is
|
|
|
|
2374
|
|
01:15:48,0 --> 01:15:53,739
|
|
for example if you have a sinkhole IP address setup by a antivirus company for example,
|
|
|
|
2377
|
|
01:15:53,739 --> 01:15:57,560
|
|
you can directly spot it. I mean if you have, I don't know, APT 29
|
|
|
|
2380
|
|
01:15:57,560 --> 01:16:01,840
|
|
and you have like three different criminals malware going on that one and so on
|
|
|
|
2383
|
|
01:16:01,840 --> 01:16:05,600
|
|
obviously it's usually not the same infrastructures but on the other hand
|
|
|
|
2385
|
|
01:16:05,600 --> 01:16:08,39
|
|
you can directly spot, okay this one is already take down
|
|
|
|
2386
|
|
01:16:08,39 --> 01:16:12,159
|
|
it's handled by this antivirus company and you can really handle it
|
|
|
|
2388
|
|
01:16:12,158 --> 01:16:20,679
|
|
so it's really a way to quickly find if it's a new threat or something that is already known in the infrastructure
|
|
|
|
2392
|
|
01:16:22,439 --> 01:16:28,640
|
|
So a little bit of the sightings themselves so we're going to see this more in practice
|
|
|
|
2395
|
|
01:16:28,640 --> 01:16:36,79
|
|
basically we have a very simple interfacing list that allows us to to tell the community
|
|
|
|
2398
|
|
01:16:36,79 --> 01:16:40,158
|
|
that we've seen an indicator, as well as when we've seen it
|
|
|
|
2401
|
|
01:16:40,158 --> 01:16:46,238
|
|
and perhaps also include information on what tool we've picked up, what context we've seen,
|
|
|
|
2402
|
|
01:16:46,238 --> 01:16:50,359
|
|
so sightings can have some metadata on top of just being a sighting.
|
|
|
|
2406
|
|
01:16:50,359 --> 01:16:54,79
|
|
We can also flag something that we call negative sightings which is a false positive sighting
|
|
|
|
2409
|
|
01:16:54,79 --> 01:16:59,0
|
|
where we indicate that we've seen it but it produced issues for us so it was a false positive.
|
|
|
|
2412
|
|
01:16:59,0 --> 01:17:05,520
|
|
We can also indicate that something is potentially going to be expired at a certain date,
|
|
|
|
2415
|
|
01:17:05,520 --> 01:17:10,0
|
|
so this is interesting, for example, if we're in talks with a provider
|
|
|
|
2418
|
|
01:17:10,0 --> 01:17:11,519
|
|
and we know that there is going to be a takedown
|
|
|
|
2420
|
|
01:17:11,519 --> 01:17:17,0
|
|
then we can already indicate that okay, this is no longer an indicator after a certain point in time.
|
|
|
|
2422
|
|
01:17:17,0 --> 01:17:21,679
|
|
Apart from that if you are ever dealing with bulk sightings,
|
|
|
|
2424
|
|
01:17:21,679 --> 01:17:28,0
|
|
so if you want to for example just capture any IP address seen in your network or something like that
|
|
|
|
2427
|
|
01:17:28,0 --> 01:17:34,560
|
|
there is another tool called SightingDB, which is developed by Devo, it's also an open source tool.
|
|
|
|
2430
|
|
01:17:34,560 --> 01:17:38,79
|
|
It's really recommended to use that, it allows you to to capture massive massive amounts of data
|
|
|
|
2432
|
|
01:17:38,79 --> 01:17:45,539
|
|
so if you're capturing the entire network flow of your constituency and or your organization
|
|
|
|
2436
|
|
01:17:45,539 --> 01:17:49,920
|
|
and just dumping all the data somewhere this is a great place to do it
|
|
|
|
2439
|
|
01:17:49,920 --> 01:17:53,760
|
|
and it's a very fast lookup database that is integrated with MISP
|
|
|
|
2441
|
|
01:17:53,760 --> 01:17:58,500
|
|
where MISP can automatically just query it for any of the indicators that you're seeing in MISP,
|
|
|
|
2445
|
|
01:17:58,500 --> 01:18:05,359
|
|
and whether it was seen in your network, and in which time range it was seen in.
|
|
|
|
2446
|
|
01:18:03,0 --> 01:18:07,500
|
|
interesting thing with that is it's also for historical values
|
|
|
|
2448
|
|
01:18:07,500 --> 01:18:14,238
|
|
so if you're just doing bulk collection of all the observables in your network
|
|
|
|
2451
|
|
01:18:14,238 --> 01:18:26,500
|
|
and then even half a year later if it turns out that a indicator is being shared with you
|
|
|
|
2454
|
|
01:18:26,500 --> 01:18:27,0
|
|
that correlates with an observable that SightingDB from half a year ago
|
|
|
|
2456
|
|
01:18:27,0 --> 01:18:30,0
|
|
then you know that you might need to launch an investigation into something
|
|
|
|
2459
|
|
01:18:30,0 --> 01:18:34,0
|
|
that happened half a year ago in logs and so on based on the historic look up.
|
|
|
|
2460
|
|
01:18:38,0 --> 01:18:41,0
|
|
Alex
|
|
|
|
2462
|
|
01:18:41,0 --> 01:18:44,500
|
|
Just complementary notes regarding sightings and
|
|
|
|
2464
|
|
01:18:44,500 --> 01:18:49,439
|
|
that's something that is basically maybe the easiest way of sharing additional information
|
|
|
|
2467
|
|
01:18:49,439 --> 01:18:53,839
|
|
it costs nothing and if you are connected to a MISP instance
|
|
|
|
2468
|
|
01:18:53,839 --> 01:18:56,319
|
|
and you can tell someone else that you have seen it
|
|
|
|
2469
|
|
01:18:56,319 --> 01:18:59,900
|
|
it's really a quick thing that can be useful for many organizations.
|
|
|
|
2473
|
|
01:18:59,900 --> 01:19:04,500
|
|
So the sighting itself sounds like a very small feature
|
|
|
|
2474
|
|
01:19:04,500 --> 01:19:10,399
|
|
but at the end, it's a an easy one for contributing and helping the others to know
|
|
|
|
2478
|
|
01:19:10,399 --> 01:19:15,0
|
|
if an indicator is still valuable and so on, so sighting is really something that
|
|
|
|
2481
|
|
01:19:15,0 --> 01:19:22,920
|
|
can basically be a kind of of entry-level things to do when sharing information
|
|
|
|
2484
|
|
01:19:22,920 --> 01:19:28,500
|
|
Something else that we have in MISP, this one is I think becoming more and more important
|
|
|
|
2487
|
|
01:19:28,500 --> 01:19:32,239
|
|
and we will do a quick demo later regarding that.
|
|
|
|
2489
|
|
01:19:32,238 --> 01:19:37,0
|
|
It's a timeline, I mean when we do analysis and so on,
|
|
|
|
2490
|
|
01:19:37,0 --> 01:19:40,0
|
|
it's really I would say common to have a first seen, last seen
|
|
|
|
2492
|
|
01:19:40,0 --> 01:19:42,159
|
|
to see the evolution of things over time.
|
|
|
|
2494
|
|
01:19:42,159 --> 01:19:45,198
|
|
In the example that you see on the screen there
|
|
|
|
2496
|
|
01:19:45,198 --> 01:19:47,319
|
|
It's based on specific threat actors
|
|
|
|
2497
|
|
01:19:47,319 --> 01:19:54,839
|
|
that sends a significant numbers of spear phishing
|
|
|
|
2499
|
|
01:19:54,839 --> 01:20:00,0
|
|
and those spear phishing are very well known when we collect those timestamps and so on.
|
|
|
|
2503
|
|
01:20:00,0 --> 01:20:03,0
|
|
So you can really see and trace the evolution of a specific group and so on.
|
|
|
|
2506
|
|
01:20:03,0 --> 01:20:07,500
|
|
This can be done automatically, for example passive dns records
|
|
|
|
2507
|
|
01:20:07,500 --> 01:20:13,0
|
|
I have very often the first seen, last seen and automatically you can really build
|
|
|
|
2510
|
|
01:20:13,0 --> 01:20:18,0
|
|
and create this kind of timeline because it can be really cumbersome if you have to do it manually
|
|
|
|
2514
|
|
01:20:18,0 --> 01:20:22,239
|
|
So we have a nice view like that so that means every time you set a first seen, last seen
|
|
|
|
2516
|
|
01:20:22,239 --> 01:20:26,0
|
|
on any attribute, object, and so on; it automatically populate on the timeline
|
|
|
|
2518
|
|
01:20:26,0 --> 01:20:31,7
|
|
and it's an easy way to to see evolution, trend and so on for your analysis
|
|
|
|
2521
|
|
01:20:31,700 --> 01:20:39,280
|
|
and this is a completely interactive so you can navigate over that.
|
|
|
|
2522
|
|
01:20:39,280 --> 01:20:42,0
|
|
We will show that later.
|
|
|
|
2524
|
|
01:20:43,0 --> 01:20:47,39
|
|
So for life cycle management, again this is something that we show briefly but
|
|
|
|
2527
|
|
01:20:47,39 --> 01:20:49,480
|
|
we're going to way more depth about that tomorrow
|
|
|
|
2528
|
|
01:20:49,480 --> 01:20:53,519
|
|
is basically here we see some examples of some attributes
|
|
|
|
2531
|
|
01:20:53,519 --> 01:20:58,800
|
|
that have scores applied to them coming from different scoring models.
|
|
|
|
2532
|
|
01:20:58,800 --> 01:21:03,0
|
|
So we see there an IDS simple decaying model and then a custom model
|
|
|
|
2533
|
|
01:21:03,0 --> 01:21:08,800
|
|
titled "Model 5" that are basically running on each of those indicators
|
|
|
|
2535
|
|
01:21:08,800 --> 01:21:13,500
|
|
and they generate a score taking into account for things such as labels that are attached to them,
|
|
|
|
2536
|
|
01:21:13,500 --> 01:21:17,0
|
|
the timestamp on when the attribute was created
|
|
|
|
2537
|
|
01:21:17,0 --> 01:21:21,0
|
|
as well as the timestamp of the different sightings that came in so generally
|
|
|
|
2544
|
|
01:21:21,0 --> 01:21:24,0
|
|
if something is still being actively seen in your network
|
|
|
|
2545
|
|
01:21:24,0 --> 01:21:28,0
|
|
that is still relevant despite the indicator itself being perhaps older
|
|
|
|
2546
|
|
01:21:28,0 --> 01:21:33,520
|
|
and then using the score that gets generated from these different models that you define
|
|
|
|
2551
|
|
01:21:33,520 --> 01:21:37,500
|
|
you can basically then make those decisions when you're exporting data to only include
|
|
|
|
2554
|
|
01:21:37,500 --> 01:21:43,0
|
|
data above a certain threshold when you're feeding your SIEM for example.
|
|
|
|
2556
|
|
01:21:44,79 --> 01:21:48,500
|
|
Yeah, and this one is quite interesting because you can really define
|
|
|
|
2557
|
|
01:21:48,500 --> 01:21:52,159
|
|
so the thing that is really important with the decaying of indicators
|
|
|
|
2559
|
|
01:21:52,159 --> 01:21:58,920
|
|
you are not modifying that actually you are really just updating and overlapping
|
|
|
|
2564
|
|
01:21:58,920 --> 01:22:01,759
|
|
and you can just define those kind of models so that means for example
|
|
|
|
2566
|
|
01:22:01,759 --> 01:22:05,39
|
|
even within a team where you don't agree on a specific model, you can have both models.
|
|
|
|
2569
|
|
01:22:05,39 --> 01:22:09,679
|
|
It's very common, for example, to have models for intrusion detection systems
|
|
|
|
2571
|
|
01:22:09,679 --> 01:22:16,719
|
|
and specific models for I don't know, endpoint, {inaudible} or endpoint protection device
|
|
|
|
2574
|
|
01:22:16,719 --> 01:22:20,639
|
|
and in MISP you have even a models or kind of simulator
|
|
|
|
2575
|
|
01:22:20,639 --> 01:22:25,500
|
|
where you can simulate the different model that you want to apply
|
|
|
|
2578
|
|
01:22:25,500 --> 01:22:28,920
|
|
and to see what kind of lifetime you want to apply,
|
|
|
|
2579
|
|
01:22:28,920 --> 01:22:32,0
|
|
when it decay, when for example you have a specific threshold where
|
|
|
|
2582
|
|
01:22:32,0 --> 01:22:39,500
|
|
basically say okay you don't use anymore those kind of data and you can do the mapping with
|
|
|
|
2583
|
|
01:22:39,500 --> 01:22:45,500
|
|
specific taxonomies you can with the different types, attributes, and so on
|
|
|
|
2585
|
|
01:22:45,500 --> 01:22:49,0
|
|
directly in MISP and it is really a quick win.
|
|
|
|
2588
|
|
01:22:49,0 --> 01:22:53,500
|
|
So you are not bound, for example, we know that some TIPs for example
|
|
|
|
2591
|
|
01:22:53,500 --> 01:22:58,479
|
|
have a kind of system-wide decaying models in MISP it is not like that,
|
|
|
|
2593
|
|
01:22:56,880 --> 01:23:02,679
|
|
everyone has their models, we are sharing some models
|
|
|
|
2594
|
|
01:23:02,679 --> 01:23:06,0
|
|
and you can define what you want to use without really altering the data.
|
|
|
|
2598
|
|
01:23:06,0 --> 01:23:10,238
|
|
So that means this kind of of information there is just an overlay
|
|
|
|
2599
|
|
01:23:10,238 --> 01:23:15,0
|
|
and you actually keep your own data in the systems without having any modification.
|
|
|
|
2601
|
|
01:23:17,0 --> 01:23:24,0
|
|
And you can simulate that one.
|
|
|
|
2605
|
|
01:23:27,0 --> 01:23:31,0
|
|
So when it comes to starting out, one of the trickiest things obviously is
|
|
|
|
2606
|
|
01:23:31,0 --> 01:23:34,0
|
|
when you're starting out with MISP is if you're staring as an empty instance
|
|
|
|
2607
|
|
01:23:34,0 --> 01:23:37,198
|
|
then getting started and encoding information is really tough
|
|
|
|
2610
|
|
01:23:37,198 --> 01:23:40,0
|
|
because you don't know what is really expected from the communities out there, you don't know how.
|
|
|
|
2612
|
|
01:23:40,0 --> 01:23:44,0
|
|
It's a new tool, you don't really know how to get started.
|
|
|
|
2616
|
|
01:23:44,0 --> 01:23:50,239
|
|
So in order to ease this a little bit there are a bunch of different feeds some of those that we also provide ourselves
|
|
|
|
2619
|
|
01:23:50,239 --> 01:23:54,500
|
|
which is obviously operational information something that you can use directly
|
|
|
|
2622
|
|
01:23:54,500 --> 01:24:00,799
|
|
so these are OSINT feeds that we produce as well from our TLP white data set
|
|
|
|
2623
|
|
01:24:00,799 --> 01:24:04,0
|
|
and the idea is that this will really help with bootstrapping your processes.
|
|
|
|
2625
|
|
01:24:04,0 --> 01:24:08,0
|
|
Look at the data we consider that generally well-formed
|
|
|
|
2629
|
|
01:24:08,0 --> 01:24:12,500
|
|
and well contextualized. It should give you an idea of what data generally looks like in MISP.
|
|
|
|
2631
|
|
01:24:12,500 --> 01:24:15,500
|
|
So don't start out with a fresh instance,
|
|
|
|
2632
|
|
01:24:15,500 --> 01:24:18,0
|
|
just go to your feed menu in your MISP when you're installing it
|
|
|
|
2633
|
|
01:24:18,0 --> 01:24:22,500
|
|
and pull in some of these OSINT feeds so that you see the information already.
|
|
|
|
2636
|
|
01:24:23,500 --> 01:24:27,359
|
|
Also it's a great way to test your internal tooling
|
|
|
|
2637
|
|
01:24:27,359 --> 01:24:31,119
|
|
so if you want to test the APIs, if you want to test internal synchronization,
|
|
|
|
2640
|
|
01:24:31,119 --> 01:24:33,500
|
|
it's good to have larger data set already from the get go
|
|
|
|
2641
|
|
01:24:33,500 --> 01:24:38,679
|
|
so that you already see that the movement of the data is working as expected.
|
|
|
|
2645
|
|
01:24:38,679 --> 01:24:44,500
|
|
Yeah, the other thing that you can do and where we're going to talk about that quite a bit tomorrow
|
|
|
|
2648
|
|
01:24:44,500 --> 01:24:50,500
|
|
is basically figuring out which feeds are worth ingesting,
|
|
|
|
2650
|
|
01:24:50,500 --> 01:24:55,719
|
|
how the feeds compare to each other, running overlap analysis between them and so on
|
|
|
|
2653
|
|
01:24:55,719 --> 01:25:00,0
|
|
So this is something that this is quite a heavy topic for tomorrow.
|
|
|
|
2656
|
|
01:25:05,0 --> 01:25:08,0
|
|
You're muted alex.
|
|
|
|
2657
|
|
01:25:08,0 --> 01:25:09,500
|
|
Yeah just discover {inaudible this/MISP}.
|
|
|
|
2658
|
|
01:25:09,500 --> 01:25:12,0
|
|
So as you can see for MISP,
|
|
|
|
2659
|
|
01:25:12,0 --> 01:25:15,300
|
|
it's the development of MISP already done over the years,
|
|
|
|
2661
|
|
01:25:15,300 --> 01:25:19,760
|
|
based on the feedback of users and that's really one of the key elements for us.
|
|
|
|
2663
|
|
01:25:19,760 --> 01:25:22,0
|
|
We wanted a tool for us that works
|
|
|
|
2665
|
|
01:25:22,0 --> 01:25:28,879
|
|
and it's key and based on that we wanted something that works for others too
|
|
|
|
2667
|
|
01:25:28,880 --> 01:25:33,679
|
|
and I mean the tool is evolving over time so you see that we have plenty of functionalities
|
|
|
|
2670
|
|
01:25:33,679 --> 01:25:37,79
|
|
On those two days of workshop we'll try to cover a part of it,
|
|
|
|
2672
|
|
01:25:37,79 --> 01:25:41,679
|
|
we had already some good questions regarding how to customize this and so on.
|
|
|
|
2675
|
|
01:25:41,679 --> 01:25:45,119
|
|
We might give you some hints how to do it and and so on,
|
|
|
|
2677
|
|
01:25:45,119 --> 01:25:47,0
|
|
so we won't be able to cover everything in those two days
|
|
|
|
2678
|
|
01:25:47,0 --> 01:25:54,0
|
|
but you'll see that you can really update MISP based on your specific use cases and so on.
|
|
|
|
2679
|
|
01:25:54,0 --> 01:26:00,500
|
|
So MISP is there as a tool, what really usually matters and are the successful,
|
|
|
|
2680
|
|
01:26:00,500--> 01:26:07,0
|
|
I would say, sharing communities depends on the practices or you do that and so on
|
|
|
|
2687
|
|
01:26:07,0 --> 01:26:11,0
|
|
and we really want at least at the end, even if it's a complex tool and so on
|
|
|
|
2690
|
|
01:26:11,0 --> 01:26:15,520
|
|
to be as easy as possible for covering different use case
|
|
|
|
2691
|
|
01:26:15,520 --> 01:26:17,500
|
|
and that's really the thing that we want to do,
|
|
|
|
2693
|
|
01:26:17,500 --> 01:26:19,520
|
|
is for example for a lot of things that we have in MISP
|
|
|
|
2694
|
|
01:26:19,520 --> 01:26:23,700
|
|
and someone just asked the questions about how can you customize MISP
|
|
|
|
2697
|
|
01:26:23,700 --> 01:26:27,119
|
|
a lot of things in MISP can be customized by just modifying some JSON files.
|
|
|
|
2700
|
|
01:26:27,119 --> 01:26:32,519
|
|
It's the case for MISP objects so if you want to create a new object you just update the json files,
|
|
|
|
2701
|
|
01:26:32,519 --> 01:26:39,500
|
|
if you want to, for example, create a new taxonomies or create a new galaxy
|
|
|
|
2706
|
|
01:26:39,50 --> 01:26:41,839
|
|
you just create those kind of json files.
|
|
|
|
2708
|
|
01:26:41,839 --> 01:26:45,500
|
|
You have other ways to update and change the behavior of MISP.
|
|
|
|
2709
|
|
01:26:45,500 --> 01:26:48,158
|
|
it's based for example on MISP modules
|
|
|
|
2710
|
|
01:26:48,158 --> 01:26:51,439
|
|
so if you want to change the behavior of the expansion and so on
|
|
|
|
2712
|
|
01:26:51,439 --> 01:26:58,800
|
|
you can just play with MISP modules and we will quickly show you some examples on these modules
|
|
|
|
2716
|
|
01:26:58,800 --> 01:27:02,80
|
|
but that's really simple I mean there's no {inaudible}
|
|
|
|
2719
|
|
01:27:02,80 --> 01:27:10,239
|
|
and that's the thing that you have to understand with MISP project is not just a small open source software somewhere
|
|
|
|
2720
|
|
01:27:10,239 --> 01:27:16,800
|
|
it's really a set of combination of tool, software, packages, open standards,
|
|
|
|
2721
|
|
01:27:16,800 --> 01:27:23,799
|
|
various best practices, shared knowledge base and obviously the community is using it.
|
|
|
|
2728
|
|
01:27:23,799 --> 01:27:26,500
|
|
So that's really the thing that we will have we love with FIRST for example.
|
|
|
|
2731
|
|
01:27:26,500 --> 01:27:31,0
|
|
it is to have this kind of community, learning together, sharing information,
|
|
|
|
2732
|
|
01:27:31,0 --> 01:27:33,119
|
|
and so that's that's really a key for us.
|
|
|
|
2735
|
|
01:27:33,119 --> 01:27:41,500
|
|
We have, I think more than 500 contributors on the MISP project with even more nowadays.
|
|
|
|
2738
|
|
01:27:41,500 --> 01:27:45,500
|
|
So if you want to become one of the contributors it's really straightforward I mean
|
|
|
|
2739
|
|
01:27:45,500 --> 01:27:48,800
|
|
if you have something, a problem that you want to solve,
|
|
|
|
2742
|
|
01:27:48,800 --> 01:27:51,400
|
|
for example on an object, you just do a pull request and
|
|
|
|
2743
|
|
01:27:51,400 --> 01:27:55,840
|
|
it will be in MISP immediately and you become a contributor in the project
|
|
|
|
2747
|
|
01:27:57,679 --> 01:27:58,0
|
|
so really for us, it's really key in MISP
|
|
|
|
2748
|
|
01:27:58,0 --> 01:28:02,0
|
|
is to have a kind of tool that is supporting the different use cases
|
|
|
|
2749
|
|
01:28:02,0 --> 01:28:06,238
|
|
Okay so before that, we do a break I will share you with you
|
|
|
|
2750
|
|
01:28:06,238 --> 01:28:12,759
|
|
some practical details on accessing the MISP training instance because there were some questions regarding that
|
|
|
|
2755
|
|
01:28:12,759 --> 01:28:20,0
|
|
and after the break, we will do the hands-on practical session
|
|
|
|
2756
|
|
01:28:20,0 --> 01:28:25,359
|
|
with an example, so we will with a real example, so you will create the full event
|
|
|
|
2757
|
|
01:28:25,359 --> 01:28:27,359
|
|
based on some information that you receive.
|
|
|
|
2759
|
|
01:28:27,359 --> 01:28:36,500
|
|
So first of all, I will give you some details about how to access the MISP instance.
|
|
|
|
|
|
2763
|
|
01:28:36,500 --> 01:28:42,500
|
|
S0, first of all we have a {inaudible acting/active} page
|
|
|
|
2764
|
|
01:28:42,500 --> 01:28:48,500
|
|
which I obviously share at some point in time and I will share it again.
|
|
|
|
2766
|
|
01:28:48,500 --> 01:28:54,799
|
|
Yes. So there's a page with some pages that you can even edit.
|
|
|
|
2769
|
|
01:28:54,799 --> 01:29:00,0
|
|
I will paste the link again in the chat for everyone.
|
|
|
|
2772
|
|
01:29:05,639 --> 01:29:11,319
|
|
That's the link, so we have a 50 account on the training instance.
|
|
|
|
2773
|
|
01:29:11,319 --> 01:29:14,159
|
|
Pick randomly one
|
|
|
|
2775
|
|
01:29:14,158 --> 01:29:18,0
|
|
it doesn't matter if you are multiple one using the same account but be careful
|
|
|
|
2777
|
|
01:29:18,0 --> 01:29:22,119
|
|
don't change the password because maybe some people will complain,
|
|
|
|
2780
|
|
01:29:22,119 --> 01:29:30,800
|
|
and then we have a "TrainingFIRST2021" password so super simple
|
|
|
|
2782
|
|
01:29:30,800 --> 01:29:33,600
|
|
not so secure but that's fine it's a training instance.
|
|
|
|
2785
|
|
01:29:33,600 --> 01:29:41,0
|
|
Just for the reference, for the one that doesn't want to use the training instance
|
|
|
|
2786
|
|
01:29:41,0 --> 01:29:44,0
|
|
sometimes for whatever reason you want to use your own instance.
|
|
|
|
2788
|
|
01:29:44,0 --> 01:29:50,238
|
|
We have different images, virtual box and VMware images for MISP.
|
|
|
|
2791
|
|
01:29:50,238 --> 01:29:54,158
|
|
So if you want to play with MISP locally and so on.
|
|
|
|
2793
|
|
01:29:54,158 --> 01:29:57,279
|
|
If you want to play with synchronization too, you can even connect those two
|
|
|
|
2794
|
|
01:29:59,500 --> 01:30:05,280
|
|
So and during the sessions we will connect to that instance so the instant is "iglocska.eu"
|
|
|
|
2796
|
|
01:30:05,280 --> 01:30:14,0
|
|
and when you connect, you will get access to the instance.
|
|
|
|
2799
|
|
01:30:14,0 --> 01:30:18,158
|
|
So you enter your training password so I will enter with my specific account
|
|
|
|
2802
|
|
01:30:18,158 --> 01:30:23,500
|
|
and we will use that instance for the hands-on that we will do just after the break.
|
|
|
|
2804
|
|
01:30:23,500 --> 01:30:31,0
|
|
So what I propose now is to do a 15 minute break and we start at 45, if it's fine for everyone
|
|
|
|
2808
|
|
01:30:31,0 --> 01:30:39,600
|
|
and we will start by with the practical sessions with a specific email
|
|
|
|
2811
|
|
01:30:39,600 --> 01:30:43,600
|
|
that we will share in the {inaudible} as a practical example
|
|
|
|
2813
|
|
01:30:43,600 --> 01:30:51,300
|
|
so thank you for the one that join us now and we will start again at 45
|
|
|
|
2814
|
|
01:30:51,300 --> 01:30:54,500
|
|
to do the hands-on session. Thank you very much.
|
|
|
|
2817
|
|
01:30:55,500 --> 01:30:57,500
|
|
Thank you.
|
|
|
|
2819
|
|
01:44:10,399 --> 01:44:14,0
|
|
Okay and shall we get started.
|
|
|
|
2820
|
|
01:44:15,0 --> 01:44:18,559
|
|
Sure, welcome back everyone.
|
|
|
|
2821
|
|
01:44:19,0 --> 01:44:25,399
|
|
Okay so now what we're going to be doing is we're going to look a little bit at MISP itself
|
|
|
|
2824
|
|
01:44:25,399 --> 01:44:28,500
|
|
so we've talked plenty about it but we haven't actually done anything with it yet.
|
|
|
|
2825
|
|
01:44:28,500 --> 01:44:34,560
|
|
So I really encourage everyone that has a MISP instance to also play along and to create your own events.
|
|
|
|
2827
|
|
01:44:34,560 --> 01:44:39,199
|
|
What we're going to be doing is we're going to go through a set of fictional little exercise.
|
|
|
|
2830
|
|
01:44:39,199 --> 01:44:46,560
|
|
Assume that you receive an email from, in this case, luxembourg {inaudible} telecom
|
|
|
|
2836
|
|
01:44:46,560 --> 01:44:51,80
|
|
the CSIRT of them describing an incident, of a very simplistic incident,
|
|
|
|
2838
|
|
01:44:51,80 --> 01:44:56,479
|
|
of what happened and what we're going to be trying to do now is to model this in MISP
|
|
|
|
2840
|
|
01:44:56,479 --> 01:45:01,839
|
|
and to explain how you can further improve it and contextualize this information
|
|
|
|
2843
|
|
01:45:01,839 --> 01:45:07,0
|
|
So before we start, once you're logged into the MISP instance,
|
|
|
|
2845
|
|
01:45:07,0 --> 01:45:11,0
|
|
such as the hosted training instance. This is what you're going to be seeing.
|
|
|
|
2848
|
|
01:45:11,0 --> 01:45:14,500
|
|
So it's a little bit squeezed on Alex's screen
|
|
|
|
2850
|
|
01:45:14,500 --> 01:45:21,599
|
|
but the idea is that you have a list of events that are listed on the main page.
|
|
|
|
2852
|
|
01:45:21,599 --> 01:45:25,280
|
|
So we're in the event index, this is our landing page when we load up MISP
|
|
|
|
2854
|
|
01:45:25,280 --> 01:45:29,0
|
|
and each of these individual lines represents an event so they're describing either an attack,
|
|
|
|
2857
|
|
01:45:29,0 --> 01:45:39,500
|
|
or perhaps a report, recurring distribution, or a certain type of of indicator lists and so on.
|
|
|
|
2861
|
|
01:45:39,500 --> 01:45:45,0
|
|
So what you're seeing here is, you have each of these events having an ID and some metadata around it
|
|
|
|
2863
|
|
01:45:45,0 --> 01:45:50,500
|
|
so these metadata can be either coming from this galaxy cluster system that we mentioned.
|
|
|
|
2864
|
|
01:45:50,500 --> 01:45:53,500
|
|
For example describing different attacker techniques,
|
|
|
|
2867
|
|
01:45:53,500 --> 01:46:00,0
|
|
different types of ransomwares in this case or attack patterns that are leveraged
|
|
|
|
2871
|
|
01:46:00,0 --> 01:46:04,0
|
|
and then if we scroll a bit further right so this is a bit lower resolution here that we see
|
|
|
|
2874
|
|
01:46:04,0 --> 01:46:07,500
|
|
but you should have it visible on the same page.
|
|
|
|
2877
|
|
01:46:07,500 --> 01:46:14,239
|
|
You see the information about what this event is trying to describe to us
|
|
|
|
2880
|
|
01:46:14,239 --> 01:46:17,500
|
|
it's simple to understand text-based representation.
|
|
|
|
2881
|
|
01:46:17,500 --> 01:46:22,500
|
|
Now this instance is used for trainings in general so it's going to be filled with a lot of junk
|
|
|
|
2883
|
|
01:46:21,198 --> 01:46:26,500
|
|
interspersed with real data that is coming from our TLP white feed.
|
|
|
|
2886
|
|
01:46:26,500 --> 01:46:31,679
|
|
So you're going to see some obviously weird events in there.
|
|
|
|
2889
|
|
01:46:31,679 --> 01:46:37,199
|
|
These are just there for testing, just players playing during an exercise and so on
|
|
|
|
2891
|
|
01:46:37,199 --> 01:46:39,500
|
|
but also some real events there.
|
|
|
|
2892
|
|
01:46:39,500 --> 01:46:42,500
|
|
So what we're going to be doing now is we're going to create our own event
|
|
|
|
2894
|
|
01:46:42,500 --> 01:46:46,0
|
|
based on that email that we received it's also on the hackmd page
|
|
|
|
2896
|
|
01:46:46,0 --> 01:46:52,880
|
|
so just have a look at the email itself and we need to start encoding that event.
|
|
|
|
2900
|
|
01:46:52,880 --> 01:46:56,0
|
|
so before we include anything in MISP, the first thing that we need to do
|
|
|
|
2902
|
|
01:46:56,0 --> 01:46:59,500
|
|
is we need to create a new event so this is where everything starts.
|
|
|
|
2904
|
|
01:46:59,500 --> 01:47:04,0
|
|
Way to do it is to just click on add event on the left side of the menu
|
|
|
|
2906
|
|
01:47:04,0 --> 01:47:07,0
|
|
and then you start with a very simplistic form
|
|
|
|
2907
|
|
01:47:07,0 --> 01:47:10,800
|
|
where we can describe the event in a very high level in MISP.
|
|
|
|
2909
|
|
01:47:10,800 --> 01:47:14,500
|
|
so here you see the first step is very straightforward
|
|
|
|
2911
|
|
01:47:14,500 --> 01:47:19,300
|
|
the things that we have to watch out for out here is we have to decide who gets to see the event
|
|
|
|
2914
|
|
01:47:19,300 --> 01:47:21,500
|
|
so this is the distribution level
|
|
|
|
2915
|
|
01:47:21,500 --> 01:47:25,0
|
|
and that we need to set a basic description of it.
|
|
|
|
2918
|
|
01:47:25,0 --> 01:47:31,500
|
|
As for the distribution itself, you have different ways of interacting with the data here already
|
|
|
|
2921
|
|
01:47:31,500 --> 01:47:34,400
|
|
so one of the decisions that you have to make,
|
|
|
|
2922
|
|
01:47:34,400 --> 01:47:37,500
|
|
even if you're going to share to the wider community out there is
|
|
|
|
2925
|
|
01:47:37,500 --> 01:47:41,119
|
|
do I keep this internal until I am ready to share it with the community
|
|
|
|
2926
|
|
01:47:41,119 --> 01:47:45,500
|
|
or do I already make it visible to anyone that has access to the data in the community.
|
|
|
|
2930
|
|
01:47:45,500 --> 01:47:51,500
|
|
Now keep in mind that we have a publishing process in MISP, so until an event is published
|
|
|
|
2933
|
|
01:47:51,500 --> 01:47:55,118
|
|
it is not propagated out to other MISP instances,
|
|
|
|
2934
|
|
01:47:55,118 --> 01:47:58,0
|
|
that means anyone on the current MISP instance can see the data
|
|
|
|
2936
|
|
01:47:58,0 --> 01:48:01,500
|
|
but it will not jump to a different MISP instance at this point in any way.
|
|
|
|
2939
|
|
01:48:01,500 --> 01:48:06,0
|
|
but if you are creating it on a hosted instance for example
|
|
|
|
2941
|
|
01:48:05,439 --> 01:48:10,500
|
|
if your ISAC is running a MISP instance and you're creating it on that one directly
|
|
|
|
2944
|
|
01:48:10,500 --> 01:48:13,0
|
|
then this already has an impact on who can see the data.
|
|
|
|
2946
|
|
01:48:13,0 --> 01:48:17,500
|
|
So the option here, either go with "Your organization only"
|
|
|
|
2947
|
|
01:48:17,500 --> 01:48:20,500
|
|
and then raise the distribution level once it's ready to be released
|
|
|
|
2949
|
|
01:48:20,500 --> 01:48:25,500
|
|
or you already involve addressing the process and you pick something like "This community only"
|
|
|
|
2952
|
|
01:48:25,500 --> 01:48:28,319
|
|
where others can chip in with their ideas from the get-go.
|
|
|
|
2954
|
|
01:48:28,319 --> 01:48:32,559
|
|
So this is up to you, it's a risk versus efficiency question.
|
|
|
|
2956
|
|
01:48:32,560 --> 01:48:36,500
|
|
Do I want to share the information and potentially overshare a bit
|
|
|
|
2959
|
|
01:48:36,500 --> 01:48:43,0
|
|
by accidentally uploading information that is not yet confirmed that it can be shared out
|
|
|
|
2962
|
|
01:48:43,0 --> 01:48:47,439
|
|
versus losing out on perhaps others immediately jumping on board
|
|
|
|
2963
|
|
01:48:47,439 --> 01:48:52,0
|
|
and saying okay this is also something we've seen we've already done the analysis of it here you go,
|
|
|
|
2967
|
|
01:48:52,0 --> 01:48:54,960
|
|
so you have to balance those two things out.
|
|
|
|
2969
|
|
01:48:56,0 --> 01:49:02,0
|
|
For example some CSIRT was aware of this, so when people are working on a case
|
|
|
|
2972
|
|
01:49:03,359 --> 01:49:09,0
|
|
by default it is "Your organization only" {inaudible} and at one point in time the team lead
|
|
|
|
2974
|
|
01:49:09,0 --> 01:49:13,0
|
|
for example decide at some point it's okay, now you can share it to a wider community
|
|
|
|
2977
|
|
01:49:13,0 --> 01:49:15,0
|
|
and then you change the distribution level.
|
|
|
|
2978
|
|
01:49:16,0 --> 01:49:19,500
|
|
Yeah, indeed. So let's start with the organization only for now
|
|
|
|
2980
|
|
01:49:19,500 --> 01:49:21,500
|
|
for different reasons that we'll get back to later on
|
|
|
|
2981
|
|
01:49:21,500 --> 01:49:26,500
|
|
it allows us to show off another feature afterwards that is handy, so we start with that.
|
|
|
|
2983
|
|
01:49:26,500 --> 01:49:30,500
|
|
Then we have to describe the threat level so this is a very subjective question.
|
|
|
|
2987
|
|
01:49:30,500 --> 01:49:36,500
|
|
Threat level will depend a lot on what sort of an organization you are versus who you're sharing it with
|
|
|
|
2990
|
|
01:49:35,500 --> 01:49:40,500
|
|
so we all have different interpretations of what we consider a high threat level.
|
|
|
|
2993
|
|
01:49:40,500 --> 01:49:44,500
|
|
We have some descriptions for each of these fields predefined.
|
|
|
|
2996
|
|
01:49:44,500 --> 01:49:46,500
|
|
If you click on the little information box,
|
|
|
|
2997
|
|
01:49:46,500 --> 01:49:52,500
|
|
it will tell you that high is sophisticated APT malware or zero day attack.
|
|
|
|
3000
|
|
01:49:52,500 --> 01:49:56,0
|
|
Please just freely disregard this because
|
|
|
|
3003
|
|
01:49:56,0 --> 01:50:00,0
|
|
nowadays a lot of information sharing happens in completely different domains,
|
|
|
|
3004
|
|
01:50:00,0 --> 01:50:04,500
|
|
so if a fraud team is sharing information about fraudster
|
|
|
|
3005
|
|
01:50:04,500 --> 01:50:11,0
|
|
their definition of high threat level would be very different from those in cyber security for example.
|
|
|
|
3010
|
|
01:50:11,0 --> 01:50:14,500
|
|
So generally it's just a subjective first measure
|
|
|
|
3011
|
|
01:50:14,500 --> 01:50:18,500
|
|
but a lot of organizations users use this to briefly filter out what they should tackle first
|
|
|
|
3013
|
|
01:50:18,500 --> 01:50:24,500
|
|
so still use it with care. If you don't want to use this field, picking undefined is fine too.
|
|
|
|
3017
|
|
01:50:25,760 --> 01:50:29,500
|
|
Analysis is the next field, describes how far along you've come with the analysis process.
|
|
|
|
3019
|
|
01:50:29,500 --> 01:50:34,480
|
|
So basically with this what you're telling the community is
|
|
|
|
3020
|
|
01:50:34,480 --> 01:50:37,500
|
|
I'm just starting out with the analysis these are my initial findings
|
|
|
|
3023
|
|
01:50:37,500 --> 01:50:41,839
|
|
versus for example saying that my analysis process is already complete
|
|
|
|
3024
|
|
01:50:41,839 --> 01:50:46,500
|
|
i'm not going to be digging more for now, I consider this complete,
|
|
|
|
3026
|
|
01:50:46,500 --> 01:50:54,500
|
|
if you have additional information then obviously start collaborating with us.
|
|
|
|
3029
|
|
01:50:54,500 --> 01:50:59,500
|
|
So just pick whichever is most appropriate for you. Let's just go with "Initial" for now.
|
|
|
|
3032
|
|
01:50:59,840 --> 01:51:05,500
|
|
and then comes the most important part of this form which is describing the event info,
|
|
|
|
3035
|
|
01:51:05,500 --> 01:51:09,0
|
|
so this is a brief description for analysts that are looking at the data
|
|
|
|
3036
|
|
01:51:09,0 --> 01:51:13,500
|
|
that best described the event that you're basically sharing
|
|
|
|
3039
|
|
01:51:13,500 --> 01:51:21,0
|
|
Now be brief here and be careful about including very domain or organization specific information.
|
|
|
|
3042
|
|
01:51:21,0 --> 01:51:25,500
|
|
One of the mistakes that people often make here is
|
|
|
|
3043
|
|
01:51:25,500 --> 01:51:29,500
|
|
for example typing a ticket number or ticket id in there
|
|
|
|
3048
|
|
01:51:29,500 --> 01:51:35,500
|
|
so if you have a ticketing system and you basically start your investigation from your ticketing system
|
|
|
|
3051
|
|
01:51:35,500 --> 01:51:39,500
|
|
sharing out something like what Alex has typed there is not very handy for anyone else
|
|
|
|
3053
|
|
01:51:39,500 --> 01:51:41,500
|
|
nobody will have a clue what you mean with that.
|
|
|
|
3055
|
|
01:51:41,500 --> 01:51:44,500
|
|
Another mistake that can happen here very often is
|
|
|
|
3056
|
|
01:51:44,500 --> 01:51:49,0
|
|
especially if you're starting out small and in turn initially you're only keeping the events for yourself
|
|
|
|
3057
|
|
01:51:49,0 --> 01:51:56,500
|
|
and then perhaps later on you decide that you want to maybe perhaps after all share it out to a community
|
|
|
|
3063
|
|
01:51:56,500 --> 01:52:59,500
|
|
then one of the things that can really hurt you at that point is if you've used different language
|
|
|
|
3065
|
|
01:52:59,500 --> 01:52:03,500
|
|
for example to describe the event info so we've seen this very often
|
|
|
|
3068
|
|
01:52:03,500 --> 01:52:09,0
|
|
instead of describing the things in English, we choose our own languages
|
|
|
|
3070
|
|
01:52:12,0 --> 01:52:19,500
|
|
Both Alex {inaudible} and myself is hungarian, we are pretty prone to doing this in general
|
|
|
|
3073
|
|
01:52:19,500 --> 01:52:23,500
|
|
and this is generally something that will hurt us in the long term
|
|
|
|
3076
|
|
01:52:23,500 --> 01:52:27,500
|
|
because once you share it out with a more international community
|
|
|
|
3077
|
|
01:52:25,920 --> 01:52:30,500
|
|
you either have to go through the effort of translating it
|
|
|
|
3078
|
|
01:52:30,500 --> 01:52:34,500
|
|
or basically make it illegible for the recipient
|
|
|
|
3081
|
|
01:52:34,500 --> 01:52:40,500
|
|
So stick to something simple, simple phrasing, be as concise as possible
|
|
|
|
3083
|
|
01:52:40,500 --> 01:52:44,500
|
|
but make sure that it's still understood what you mean.
|
|
|
|
01:52:46,500 --> 01:52:51,500
|
|
Okay, once you are done. In this case we are doing a {inaudible} spearphishing email,
|
|
|
|
3085
|
|
01:52:51,920 --> 01:52:55,800
|
|
we know that it's targeting the telco sector in luxembourg and we know that we have a malware sample
|
|
|
|
3087
|
|
01:52:55,800 --> 01:53:00,0
|
|
so that's a pretty nice short explanation of what the event is about.
|
|
|
|
3091
|
|
01:53:00,0 --> 01:53:05,0
|
|
So once we click submit, we have our event created and we already see that that
|
|
|
|
3092
|
|
01:53:05,0 --> 01:53:09,500
|
|
our event suddenly has a lot of data that we didn't intentionally put in there yet.
|
|
|
|
3094
|
|
01:53:09,500 --> 01:53:11,500
|
|
So we see a bunch of tags that are applied to the event,
|
|
|
|
3098
|
|
01:53:11,500 --> 01:53:15,500
|
|
we see that the event already has information about
|
|
|
|
3099
|
|
01:53:15,500 --> 01:53:20,500
|
|
who created the information, who the local owners is information and so on.
|
|
|
|
3101
|
|
01:53:20,500 --> 01:53:25,500
|
|
So MISP basically takes a lot of {inaudible local/global} settings from the instance
|
|
|
|
3105
|
|
01:53:25,500 --> 01:53:29,500
|
|
and it fills in the event when it is created with these basic datasets.
|
|
|
|
3107
|
|
01:53:29,500 --> 01:53:33,500
|
|
A lot of these also involve the contextualization that we start out with
|
|
|
|
3108
|
|
01:53:33,500 --> 01:53:37,500
|
|
so it might seem a little bit pointless to immediately label something
|
|
|
|
3109
|
|
01:53:37,500 --> 01:53:39,500
|
|
that we have not even started working on yet
|
|
|
|
3110
|
|
01:53:39,500 --> 01:53:44,200
|
|
but also keep in mind that very often what we do internally in our organizations is
|
|
|
|
3111
|
|
01:53:44,200 --> 01:53:50,0
|
|
we have several MISP instances that already are domain specific
|
|
|
|
3118
|
|
01:53:50,0 --> 01:53:55,500
|
|
So, for example we have our spam collector instance, we have our our sandboxing in MISP instance and so on.
|
|
|
|
3121
|
|
01:53:55,500 --> 01:54:00,500
|
|
These already define the scope of the information that go into them
|
|
|
|
3124
|
|
01:54:00,500 --> 01:54:05,0
|
|
so we can already decide okay if we are on our spam collector MISP instance
|
|
|
|
3127
|
|
01:54:05,0 --> 01:54:07,500
|
|
anything that goes in there will be related to spam
|
|
|
|
3128
|
|
01:54:07,500 --> 01:54:14,0
|
|
so in this case we can remove these tags because we don't actually want to include those just yet.
|
|
|
|
3131
|
|
01:54:14,0 --> 01:54:16,0
|
|
Maybe we can keep that one because it's still a draft,
|
|
|
|
3132
|
|
01:54:16,0 --> 01:54:20,500
|
|
so that means we will do an evaluation of this spam email accuracy
|
|
|
|
3135
|
|
01:54:20,500 --> 01:54:25,500
|
|
and then, so we have some defined taxonomy in MISP on this instance we enabled
|
|
|
|
3138
|
|
01:54:25,500 --> 01:54:30,500
|
|
for example the workflow one, this one is maybe of interest from different organizations
|
|
|
|
3141
|
|
01:54:31,39 --> 01:54:35,500
|
|
is a generic one about workflow, what is the current state of things.
|
|
|
|
3142
|
|
01:54:35,500 --> 01:54:39,500
|
|
So don't forget, in the initial event when we created the event
|
|
|
|
3143
|
|
01:54:39,500 --> 01:54:42,500
|
|
we have information about the state and stuff like that
|
|
|
|
3144
|
|
01:54:42,500 --> 01:54:45,0
|
|
Now with this what we do is recommend to have taxonomies
|
|
|
|
3150
|
|
01:54:45,0 --> 01:54:49,500
|
|
and you can really set up whatever you like in the misp event
|
|
|
|
3153
|
|
01:54:49,500 --> 01:54:55,500
|
|
to define the current state of this event so we keep "Draft" for this case.
|
|
|
|
3154
|
|
01:54:57,0 --> 01:55:00,500
|
|
Yup indeed, so we keep it at this
|
|
|
|
3155
|
|
01:55:00,500 --> 01:55:03,500
|
|
and we scroll further down and we see that MISP warns us about a few things,
|
|
|
|
3156
|
|
01:55:03,500 --> 01:55:05,500
|
|
first of all, data is not published
|
|
|
|
3158
|
|
01:55:05,500 --> 01:55:07,500
|
|
and second of all if we scroll a bit further down
|
|
|
|
3159
|
|
01:55:07,500 --> 01:55:11,0
|
|
we see that MISP also tells us that there are no attributes in here.
|
|
|
|
3160
|
|
01:55:11,0 --> 01:55:13,0
|
|
So this is still an empty envelope that we are about to share
|
|
|
|
3162
|
|
01:55:13,0 --> 01:55:16,500
|
|
so MISP tells us, don't share this just yet, fill it up with data first.
|
|
|
|
3165
|
|
01:55:16,500 --> 01:55:23,0
|
|
So at this point, we can start populating the information
|
|
|
|
3168
|
|
01:55:23,0 --> 01:55:30,0
|
|
So if you look at the initial document that we use as a starting point,
|
|
|
|
3171
|
|
01:55:30,0 --> 01:55:35,0
|
|
we see in there that we have a lot of information in there described
|
|
|
|
3173
|
|
01:55:35,0 --> 01:55:38,500
|
|
we see for example that we are dealing with spearphishing,
|
|
|
|
3175
|
|
01:55:38,500 --> 01:55:42,500
|
|
we see that we have an email that was received at a certain point in time
|
|
|
|
3177
|
|
01:55:42,500 --> 01:55:51,0
|
|
and we also see that we have an attacker that pretends to be working at the CEO's daughter school
|
|
|
|
3181
|
|
01:55:51,0 --> 01:55:57,500
|
|
and sending the email from a spoofed email address.
|
|
|
|
3184
|
|
01:55:57,500 --> 01:56:01,500
|
|
So we can start by describing this information, by including this information.
|
|
|
|
3187
|
|
01:56:01,500 --> 01:56:04,500
|
|
So perhaps one of the things that we can take here is,
|
|
|
|
3188
|
|
01:56:04,500 --> 01:56:08,500
|
|
let's start with the most basic thing we're describing, an email, so let's start with an email object.
|
|
|
|
3191
|
|
01:56:08,500 --> 01:56:16,0
|
|
So we're going to add an object and we're going to select email
|
|
|
|
3193
|
|
01:56:18,479 --> 01:56:21,0
|
|
So here we see that this is coming from the templating system
|
|
|
|
3194
|
|
01:56:21,0 --> 01:56:27,500
|
|
where you can define different concepts with different fields
|
|
|
|
3197
|
|
01:56:27,500 --> 01:56:30,500
|
|
that have to be then populated using this object templating system.
|
|
|
|
3199
|
|
01:56:31,760 --> 01:56:34,500
|
|
So we have a bunch of information that we can fill out here
|
|
|
|
3200
|
|
01:56:34,500 --> 01:56:40,0
|
|
we see the spoofed address so we see a "From" address that we can encode
|
|
|
|
3203
|
|
01:56:45,439 --> 01:56:54,500
|
|
Okay. we also have a sample that I don't know if I've uploaded it anywhere. Alex?
|
|
|
|
3205
|
|
01:56:54,500 --> 01:56:57,500
|
|
If not just pick any file for now because I think that's something I forgot to do.
|
|
|
|
3208
|
|
01:57:00,880 --> 01:57:03,500
|
|
Yeah I don't know where the sample is. Yeah maybe we should add it.
|
|
|
|
3210
|
|
01:57:03,500 --> 01:57:08,0
|
|
Yeah just put putty.x or something if you have it
|
|
|
|
3212
|
|
01:57:12,800 --> 01:57:14,500
|
|
Oops
|
|
|
|
3213
|
|
01:57:16,639 --> 01:57:19,500
|
|
or we can do it as a separate object, we can just do this separately
|
|
|
|
3215
|
|
01:57:19,500 --> 01:57:21,0
|
|
Yeah, we can do a separate object.
|
|
|
|
3216
|
|
01:57:21,0 --> 01:57:26,0
|
|
Yeah, indeed, indeed. Okay so what we can already describe here is
|
|
|
|
3219
|
|
01:57:26,0 --> 01:57:31,500
|
|
we can still add the name of the attachment that we had in there
|
|
|
|
3222
|
|
01:57:35,500 --> 01:57:38,500
|
|
just to fast track it a bit
|
|
|
|
3223
|
|
01:57:40,639 --> 01:57:42,880
|
|
good
|
|
|
|
3224
|
|
01:57:46,79 --> 01:57:48,500
|
|
so we have a timestamp too which is interesting
|
|
|
|
3225
|
|
01:57:47,679 --> 01:57:52,319
|
|
um
|
|
|
|
3226
|
|
01:57:49,760 --> 01:57:54,239
|
|
|
|
|
|
3227
|
|
01:57:52,319 --> 01:57:55,500
|
|
so this one has been received at a specific date so it was the third of....
|
|
|
|
3228
|
|
01:57:54,238 --> 01:57:59,0
|
|
so the "First Seen" is basically something that you can already set up
|
|
|
|
3230
|
|
01:57:59,0 --> 01:58:07,500
|
|
so it was the third of February, we had a specific time if i'm not mistaken.
|
|
|
|
3231
|
|
01:58:03,920 --> 01:58:10,158
|
|
|
|
|
|
3232
|
|
01:58:07,198 --> 01:58:20,500
|
|
So in this one has been sent on, received on 15, 16,
|
|
|
|
3237
|
|
01:58:27,0 --> 01:58:35,500
|
|
we also see that that basically the attachment was spoofing the document
|
|
|
|
3238
|
|
01:58:30,639 --> 01:58:41,0
|
|
about the report about the CEO's daughter's progress in school.
|
|
|
|
3242
|
|
01:58:41,0 --> 01:58:48,500
|
|
So we can pick the file name for the attachment and that is under the attachment section in the object
|
|
|
|
3245
|
|
01:58:55,500 --> 01:58:57,500
|
|
Good.
|
|
|
|
3246
|
|
01:58:57,500 --> 01:58:59,0
|
|
I'm just clicking it. Yeah
|
|
|
|
3247
|
|
01:58:59,0 --> 01:59:03,500
|
|
It is called report.doc.exe, I mean maybe it's not in the text right now.
|
|
|
|
3248
|
|
01:59:03,500 --> 01:59:06,500
|
|
Ah okay, it might not be in the text, might be just in the original file.
|
|
|
|
3251
|
|
01:59:06,500 --> 01:59:12,500
|
|
Sorry about that. So yeah report.doc.exe
|
|
|
|
3252
|
|
01:59:18,0 --> 01:59:19,500
|
|
Ok yeah perfect.
|
|
|
|
3253
|
|
01:59:19,500 --> 01:59:26,500
|
|
And then we also know that it was received, that we have the received header ip
|
|
|
|
325 6
|
|
01:59:26,500 --> 01:59:34,0
|
|
so we can include that as well that's also stated in the email. It's 137.221.106.104
|
|
|
|
3259
|
|
01:59:41,500 --> 01:59:50,500
|
|
and we even have the hostname ,if you want to include that, that was also included in the email/report
|
|
|
|
3263
|
|
01:59:54,0 --> 01:59:59,500
|
|
Perfect, so as you can see here we did not fill everything out
|
|
|
|
3264
|
|
01:59:59,500 --> 02:00:02,500
|
|
because we don't know everything based on the report but we knew some of the fields.
|
|
|
|
3267
|
|
02:00:02,500 --> 02:00:08,500
|
|
We also see that each of these objects basically have some requirements and we satisfy those in this case.
|
|
|
|
3271
|
|
02:00:08,500 --> 02:00:13,0
|
|
So if you scroll all the way to the top you will see that that this object had a requirement
|
|
|
|
3274
|
|
02:00:13,0 --> 02:00:17,500
|
|
any of those fields have to be filled, we've definitely met that so we can just click submit
|
|
|
|
3276
|
|
02:00:16,0 --> 02:00:20,500
|
|
and we can create our object in this case
|
|
|
|
3278
|
|
02:00:23,0 --> 02:00:27,500
|
|
so here we see MISP telling us if we create this object that's what it will look like.
|
|
|
|
3281
|
|
02:00:27,500 --> 02:00:31,0
|
|
So we have in this case created our object and now it is attached to the event
|
|
|
|
3284
|
|
02:00:31,359 --> 02:00:33,0
|
|
and suddenly stuff happened here
|
|
|
|
3285
|
|
02:00:33,0 --> 02:00:38,500
|
|
so we see that each of these attributes already start correlating with existing events.
|
|
|
|
3288
|
|
02:00:38,500 --> 02:00:43,500
|
|
Now we ran this little exercise before so it correlate with some of those previous events
|
|
|
|
3291
|
|
02:00:43,500 --> 02:00:48,500
|
|
but normally if this was a real case if you get a correlation
|
|
|
|
3293
|
|
02:00:48,500 --> 02:00:53,500
|
|
there is either something very similar that already happened before
|
|
|
|
3294
|
|
02:00:53,500 --> 02:00:58,0
|
|
or is it something that simply might be a coincidence
|
|
|
|
3295
|
|
02:00:58,0 --> 02:01:01,500
|
|
but it's still cause for investigation to check
|
|
|
|
3296
|
|
02:01:01,500 --> 02:01:06,500
|
|
is this something that might help me bootstrap my investigation or is it just noise that is not relevant.
|
|
|
|
3300
|
|
02:01:06,500 --> 02:01:09,0
|
|
Maybe a side note because we have often the questions
|
|
|
|
3301
|
|
02:01:09,0 --> 02:01:15,500
|
|
when you create such object in MISP, you see that can be cumbersome to create it manually
|
|
|
|
3302
|
|
02:01:15,500 --> 02:01:19,500
|
|
so don't forget that everything that we do right now can be done through the API
|
|
|
|
3308
|
|
02:01:19,500 --> 02:01:23,0
|
|
so you can use PyMISP, automatically do it and so on.
|
|
|
|
3310
|
|
02:01:23,0 --> 02:01:29,500
|
|
So what we show there, if you think on the API level it can be done automatically
|
|
|
|
3312
|
|
02:01:27,840 --> 02:01:34,500
|
|
so if you have tool that are extracting emails automatically from the PC mailbox, whatever
|
|
|
|
3315
|
|
02:01:34,500 --> 02:01:36,500
|
|
you can automatically do it in MISP.
|
|
|
|
3317
|
|
02:01:36,560 --> 02:01:40,500
|
|
We just show the complete process manually but you can have a mix for some event
|
|
|
|
3320
|
|
02:01:40,500 --> 02:01:45,500
|
|
maybe some might be created automatically and then update it manually and so on.
|
|
|
|
3323
|
|
02:01:45,500 --> 02:01:49,500
|
|
Something else that might be interesting here at this point is we've encoded this object
|
|
|
|
3325
|
|
02:01:49,520 --> 02:01:57,0
|
|
and we look at it and perhaps we might want to change the distribution settings
|
|
|
|
3328
|
|
02:01:57,0 --> 02:01:59,500
|
|
based on the different data points that we have in there
|
|
|
|
3330
|
|
02:01:59,279 --> 02:02:04,500
|
|
so most of these such as the malicious host that email is sent from
|
|
|
|
3331
|
|
02:02:04,500 --> 02:02:05,759
|
|
are technical information that we can share with the broader community
|
|
|
|
3334
|
|
02:02:07,279 --> 02:02:12,500
|
|
but perhaps the name of the school that our CEO's daughter attends
|
|
|
|
3335
|
|
02:02:12,500 --> 02:02:13,599
|
|
is something that we don't need to share with the entire community
|
|
|
|
3338
|
|
02:02:15,118 --> 02:02:20,0
|
|
so we could reduce the distribution of that individual attribute in this object
|
|
|
|
3340
|
|
02:02:20,0 --> 02:02:24,500
|
|
so that we keep that, for example only for our own organization and for our own internal records.
|
|
|
|
3343
|
|
02:02:24,500 --> 02:02:28,500
|
|
So one of the things you can do in this case is you can edit that individual attribute
|
|
|
|
3346
|
|
02:02:28,158 --> 02:02:36,500
|
|
so the from address in the object and you can set a distribution level to "Your organization only".
|
|
|
|
3349
|
|
02:02:36,500 --> 02:02:40,500
|
|
In this case, once we release the event to a broader audience
|
|
|
|
3351
|
|
02:02:40,500 --> 02:02:44,0
|
|
it will keep this individual attribute for an organization
|
|
|
|
3352
|
|
02:02:44,0 --> 02:02:48,500
|
|
and it will not share it out with with other constituencies
|
|
|
|
3354
|
|
02:02:48,500 --> 02:02:51,500
|
|
Okay, so some other stuff that happened at this point
|
|
|
|
3355
|
|
02:02:51,500 --> 02:02:55,500
|
|
we see that several of you are creating events so that's great.
|
|
|
|
3358
|
|
02:02:55,500 --> 02:02:58,0
|
|
The correlation count really went up all of the sudden so it's good to see.
|
|
|
|
3360
|
|
02:02:57,359 --> 02:03:04,0
|
|
Something else that happened at this point is the event itself got correlated to other events as well
|
|
|
|
3361
|
|
02:03:04,0 --> 02:03:08,500
|
|
So if you scroll up all the way, we see that the attributes that we've added
|
|
|
|
3366
|
|
02:03:07,599 --> 02:03:10,0
|
|
are also showing us what other events we're correlating in.
|
|
|
|
3368
|
|
02:03:10,0 --> 02:03:15,500
|
|
So this is a summary of all the individual attributes, correlations from the event
|
|
|
|
3369
|
|
02:03:15,500 --> 02:03:18,500
|
|
that means that if this object is correlating
|
|
|
|
3370
|
|
02:03:18,500 --> 02:03:22,500
|
|
or these attributes within the object are correlating to it with a certain event
|
|
|
|
3375
|
|
02:03:22,500 --> 02:03:25,500
|
|
and certain other objects are correlating with other events
|
|
|
|
3377
|
|
02:03:25,500 --> 02:03:29,500
|
|
then this would be a full summary of all the events that you're correlating with.
|
|
|
|
3379
|
|
02:03:29,500 --> 02:03:31,500
|
|
You can also draw a graph out of that.
|
|
|
|
3380
|
|
02:03:31,920 --> 02:03:34,500
|
|
If you click on the correlation graph you will see how the events are interlinked
|
|
|
|
3382
|
|
02:03:35,198 --> 02:03:38,500
|
|
and you can further explore this by selecting any of the nodes
|
|
|
|
3384
|
|
02:03:38,500 --> 02:03:44,0
|
|
and pressing x on that to further expand it with its own correlations.
|
|
|
|
3387
|
|
02:03:46,500 --> 02:03:50,500
|
|
Okay. Let's go back to the event
|
|
|
|
3388
|
|
02:03:52,0 --> 02:03:57,0
|
|
Yeah I don't think we have a lot of correlations there, for the other events they're all the same
|
|
|
|
3392
|
|
02:03:59,679 --> 02:04:06,500
|
|
Okay now going back to our little example we have now created four attributes all together
|
|
|
|
3395
|
|
02:04:06,500 --> 02:04:11,0
|
|
out of the object template but we could have done this differently as well
|
|
|
|
3397
|
|
02:04:11,0 --> 02:04:16,0
|
|
what we could have done is we could also have created those attributes individually
|
|
|
|
3398
|
|
02:04:16,0 --> 02:04:20,500
|
|
and added those to the event directly.
|
|
|
|
3404
|
|
02:04:20,500 --> 02:04:22,500
|
|
So one of the things that we can do now
|
|
|
|
3405
|
|
02:04:24,319 --> 02:04:26,500
|
|
is we can go back to our report and tackle the next thing that is described there
|
|
|
|
3406
|
|
02:04:25,920 --> 02:04:27,500
|
|
and let's do it slightly differently.
|
|
|
|
3407
|
|
02:04:27,359 --> 02:04:35,500
|
|
So we also see that basically the person that is impersonated is also described
|
|
|
|
3410
|
|
02:04:31,760 --> 02:04:43,500
|
|
so that is basically, in this case John Doe the teacher of the student
|
|
|
|
3411
|
|
02:04:43,500 --> 02:04:46,500
|
|
So let's just create a person object and describe that.
|
|
|
|
3416
|
|
02:04:46,500 --> 02:04:53,0
|
|
So what we can do now is instead of directly describing it as an object,
|
|
|
|
3418
|
|
02:04:53,0 --> 02:04:59,500
|
|
we can first add those different fields, at least a name as individual attributes.
|
|
|
|
3421
|
|
02:04:59,500 --> 02:05:02,500
|
|
So let's see how adding individual attributes work
|
|
|
|
3422
|
|
02:05:00,0 --> 02:05:04,500
|
|
so we click on the little plus icon above the attribute list
|
|
|
|
3425
|
|
02:05:04,500 --> 02:05:08,500
|
|
and we simply select category "Person"
|
|
|
|
3426
|
|
02:05:08,500 --> 02:05:13,500
|
|
and from "Person" we select "first-name", "first-name" is John.
|
|
|
|
3428
|
|
02:05:13,500 --> 02:05:16,0
|
|
and here we can already define, is this an indicator?
|
|
|
|
3429
|
|
02:05:15,39 --> 02:05:20,0
|
|
Do we want to set it for intrusion detection system flag?
|
|
|
|
3431
|
|
02:05:20,0 --> 02:05:23,0
|
|
No, definitely not, this in itself is not an indicator
|
|
|
|
3433
|
|
02:05:23,0 --> 02:05:29,0
|
|
In fact we want to also disable correlation on this as this is a pretty common name
|
|
|
|
3436
|
|
02:05:29,0 --> 02:05:33,0
|
|
that is definitely not something to...
|
|
|
|
3437
|
|
02:05:33,0 --> 02:05:37,500
|
|
We don't need a comment for now, we're going to convert it into an object anyway
|
|
|
|
3440
|
|
02:05:40,0 --> 02:05:44,500
|
|
So what we can do is we can also disable correlation on this we don't want to correlate on John.
|
|
|
|
3443
|
|
02:05:44,0 --> 02:05:48,500
|
|
Okay, doesn't matter.
|
|
|
|
3444
|
|
02:05:48,500 --> 02:05:58,500
|
|
We can do the same thing for the last name Doe and we can basically say that this is now "last-name".
|
|
|
|
3447
|
|
02:05:58,500 --> 02:05:06,500
|
|
Now we've added these two things in there now the problem with this is
|
|
|
|
3448
|
|
02:05:06,500 --> 02:06:04,500
|
|
if we just had attributes instead of objects is we don't really see that
|
|
|
|
3449
|
|
02:06:04,500 --> 02:06:07,500
|
|
"John" and "Doe" in this case are the first name and last name belong together.
|
|
|
|
3455
|
|
02:06:07,500 --> 02:06:11,500
|
|
So if I were to describe several people in the same event
|
|
|
|
3456
|
|
02:06:11,500 --> 02:06:18,500
|
|
you would have a list of first names and a list of last names with no connection between the two things
|
|
|
|
3457
|
|
02:06:18,500 --> 02:06:24,500
|
|
so it's better to use objects in general whenever you're describing multiple aspects of the same thing.
|
|
|
|
3463
|
|
02:06:24,500 --> 02:06:27,500
|
|
Obviously if you just have a list of file hashes that you got from a feed
|
|
|
|
3464
|
|
02:06:27,500 --> 02:06:30,500
|
|
and you just encode those and you don't have any other information with them
|
|
|
|
3465
|
|
02:06:30,500 --> 02:06:33,500
|
|
you might as well just create flat attributes out of them
|
|
|
|
3466
|
|
02:06:33,500 --> 02:06:36,500
|
|
because there is nothing else to describe from your perspective.
|
|
|
|
3471
|
|
02:06:36,880 --> 02:06:40,500
|
|
But even in that case it's arguable whether you don't want to start with an object
|
|
|
|
3474
|
|
02:06:40,500 --> 02:06:44,0
|
|
from the get go but what we can do in this case if we did start with this way
|
|
|
|
3476
|
|
02:06:44,0 --> 02:06:48,500
|
|
or if you receive information in this format or your tools parse the data out in this format is
|
|
|
|
3479
|
|
02:06:48,500 --> 02:06:51,500
|
|
you can select those two attributes by clicking the little check marks next
|
|
|
|
3480
|
|
02:06:51,500 --> 02:06:57,500
|
|
or little tick boxes next to them and then clicking on "Group selected Attributes into an Object"
|
|
|
|
3485
|
|
02:06:56,500 --> 02:07:01,500
|
|
and here MISP will propose, okay these are the different object templates
|
|
|
|
3486
|
|
02:07:01,500 --> 02:07:05,500
|
|
that satisfy the list of attributes that you've selected,
|
|
|
|
3488
|
|
02:07:05,500 --> 02:07:09,500
|
|
there's a person object that we can use so let's just pick that one for now.
|
|
|
|
3492
|
|
02:07:09,500 --> 02:07:16,500
|
|
So here we see if we were to combine these two things they would be merged into an object
|
|
|
|
3495
|
|
02:07:16,500 --> 02:07:24,500
|
|
that is fine with us we see first name will become the first name of the object,last name, the last name
|
|
|
|
3499
|
|
02:07:24,500 --> 02:07:25,500
|
|
so let's merge it,
|
|
|
|
3500
|
|
02:07:28,960 --> 02:07:35,0
|
|
Now we basically have a person object, now we also know that this person that we're dealing with here
|
|
|
|
3501
|
|
02:07:35,0 --> 02:07:38,0
|
|
is impersonating the teacher of the CEO's daughter
|
|
|
|
3503
|
|
02:07:38,0 --> 02:07:42,500
|
|
so the impersonated person is a teacher of the CEO's daughter
|
|
|
|
3506
|
|
02:07:42,500 --> 02:07:48,0
|
|
so we added the object and we also see that we can add just another text field.
|
|
|
|
3509
|
|
02:07:48,0 --> 02:07:51,500
|
|
Yeah, just text field works, where we can describe it.
|
|
|
|
3510
|
|
02:07:51,500 --> 02:07:55,500
|
|
i just want to first disable the correlation because different {inaudible}
|
|
|
|
3513
|
|
02:07:55,500 --> 02:07:56,500
|
|
Okay yeah sure.
|
|
|
|
3514
|
|
02:08:08,238 --> 02:08:12,500
|
|
Yeah that works and we just add a text, description of the identity of the person
|
|
|
|
3516
|
|
02:08:12,500 --> 02:08:14,500
|
|
we can just say teacher of the ceo's daughter.
|
|
|
|
3518
|
|
02:08:14,500 --> 02:08:27,0
|
|
Okay, now we're done. We have now added the additional attribute
|
|
|
|
3520
|
|
02:08:27,0 --> 02:08:30,500
|
|
and now we know what this object is actually about without having a description in there
|
|
|
|
3522
|
|
02:08:30,500 --> 02:08:34,500
|
|
but we still just have an email and a person described in here
|
|
|
|
3524
|
|
02:08:34,500 --> 02:08:38,500
|
|
but we don't know anything else, we don't know that this email is spoofing to be that person
|
|
|
|
3526
|
|
02:08:38,500 --> 02:08:40,500
|
|
so we should add a relationship between the two.
|
|
|
|
3528
|
|
02:08:40,500 --> 02:08:46,500
|
|
Mow for this we can switch over to the event graph view so that is a little bit further up.
|
|
|
|
3531
|
|
02:08:46,719 --> 02:08:50,500
|
|
This one allows us to create connected graphs out of our individual data points
|
|
|
|
3533
|
|
02:08:50,500 --> 02:08:56,500
|
|
so we see that we have two unreferenced objects, so we explode that node by pressing x.
|
|
|
|
3536
|
|
02:08:56,500 --> 02:09:03,0
|
|
and we can draw an edge between those two nodes by clicking edit and add reference
|
|
|
|
3539
|
|
02:09:03,0 --> 02:09:07,500
|
|
and drawing a line between the two from the email to the person.
|
|
|
|
3542
|
|
02:09:07,500 --> 02:09:15,500
|
|
When you do, that MISP will propose a list of relationship types between these two different nodes.
|
|
|
|
3546
|
|
02:09:15,500 --> 02:09:20,500
|
|
There is also a custom one there so if you don't want to select anything from the list that is fine too
|
|
|
|
3548
|
|
02:09:20,500 --> 02:09:26,500
|
|
but for now we can just use the "impersonates" relationship which already exists in the default library.
|
|
|
|
3552
|
|
02:09:26,500 --> 02:09:33,500
|
|
Just click on submit and now we have a relationship set between those two.
|
|
|
|
3554
|
|
02:09:33,500 --> 02:09:38,500
|
|
So we started telling our story by basically having a connected graph between these two points.
|
|
|
|
3557
|
|
02:09:37,520 --> 02:09:46,500
|
|
Now let's further look at our original email and see what else we can get out of the text from there.
|
|
|
|
3561
|
|
02:09:47,520 --> 02:09:52,500
|
|
We also see that the malicious file was contained in the email as well as an attachment
|
|
|
|
3563
|
|
02:09:52,500 --> 02:09:55,500
|
|
So let's upload an attachment now to MISP.
|
|
|
|
3564
|
|
02:09:54,0 --> 02:09:59,500
|
|
I hope you have put in the text there or something because I forgot to {inaudible} it.
|
|
|
|
3565
|
|
02:09:59,500 --> 02:10:02,500
|
|
{inaudible} Perfect .
|
|
|
|
3567
|
|
02:10:02,500 --> 02:10:07,500
|
|
So as an attachment and this is where things become a little bit tricky.
|
|
|
|
3568
|
|
02:10:07,500 --> 02:10:12,500
|
|
There's a quick question there on the chat i'll just quickly answer that then we can get back to this.
|
|
|
|
3573
|
|
02:10:12,500 --> 02:10:13,500
|
|
Where can I create reference?
|
|
|
|
3574
|
|
02:10:13,500 --> 02:10:18,0
|
|
If you go above the attribute list there is an event graph button if you click on that
|
|
|
|
3575
|
|
02:10:18,0 --> 02:10:23,0
|
|
you get the event graph and on the top left side you click on edit and then add reference
|
|
|
|
3577
|
|
02:10:23,0 --> 02:10:24,0
|
|
Like I can show it again now.
|
|
|
|
3580
|
|
02:10:24,0 --> 02:10:26,500
|
|
Yeah that's a bit better, yeah.
|
|
|
|
3581
|
|
02:10:26,500 --> 02:10:33,500
|
|
So you have this kind of gray bar there with event graph so you can basically collapse or expand it
|
|
|
|
3583
|
|
02:10:33,500 --> 02:10:39,500
|
|
and then there you can select one of those reference objects you press x
|
|
|
|
3589
|
|
02:10:39,500 --> 02:10:49,500
|
|
to expand all those reference objects then you can just select one object that you want to add
|
|
|
|
3591
|
|
02:10:49,500 --> 02:10:53,500
|
|
and then you can edit, add the references and then you can add specific references.
|
|
|
|
3594
|
|
02:10:53,500 --> 02:10:57,500
|
|
In this case it doesn't make sense to make a second reference but that's basically how you do it
|
|
|
|
3597
|
|
02:10:57,500 --> 02:11:01,500
|
|
then you select your relationship type and you can add your reference.
|
|
|
|
3599
|
|
02:11:01,279 --> 02:11:04,479
|
|
It's not the only way to do it, there's a, I would say current-based representation
|
|
|
|
3602
|
|
02:11:06,78 --> 02:11:11,500
|
|
where you can do it, we can even show it so you have to go
|
|
|
|
3604
|
|
02:11:11,500 --> 02:11:13,0
|
|
It's much more difficult to understand what happens.
|
|
|
|
3606
|
|
02:11:13,0 --> 02:11:19,0
|
|
Yeah, so so there the reference that you created through the event graph is represented here
|
|
|
|
3608
|
|
02:11:19,0 --> 02:11:25,500
|
|
so you see that this object has a reference so from email to impersonate
|
|
|
|
3612
|
|
02:11:25,500 --> 02:11:29,0
|
|
and here's the opposite relationship that even describes the "Referenced by"
|
|
|
|
3613
|
|
02:11:29,0 --> 02:11:31,0
|
|
and you have the "Referenced by" on this object
|
|
|
|
3614
|
|
02:11:28,960 --> 02:11:38,500
|
|
so another just mention is I think less, I would say {inaudible} and so on
|
|
|
|
3618
|
|
02:11:38,500 --> 02:11:40,0
|
|
but sometimes you just when you are in the object
|
|
|
|
3619
|
|
02:11:40,0 --> 02:11:45,500
|
|
you just want to see if you have any reference or a sign and you can quickly see that.
|
|
|
|
3622
|
|
02:11:48,500 --> 02:11:58,500
|
|
So let's add an attachment now and upload the sample that was included in the original email.
|
|
|
|
3625
|
|
02:11:58,500 --> 02:12:03,0
|
|
Sso we just click on add attachment we select the file that you want to upload.
|
|
|
|
3628
|
|
02:12:03,0 --> 02:12:06,500
|
|
yeah so for the attachment in MISP you have really two models,
|
|
|
|
3630
|
|
02:12:06,500 --> 02:12:08,0
|
|
you have the model that an attachment is basically something
|
|
|
|
3631
|
|
02:12:08,0 --> 02:12:15,500
|
|
completely benign, safe and you can basically share it directly.
|
|
|
|
3635
|
|
02:12:13,118 --> 02:12:19,0
|
|
So for example you have attachment like reports and stuff like that.
|
|
|
|
3637
|
|
02:12:19,0 --> 02:12:21,500
|
|
In our case what we want to share here,
|
|
|
|
3638
|
|
02:12:21,500 --> 02:12:30,500
|
|
it's a malicious sample so and that's I will take a sample somewhere.
|
|
|
|
3644
|
|
02:12:34,0 --> 02:12:42,500
|
|
Press on one {inaudible} interesting there {inaudible} windows executables
|
|
|
|
3647
|
|
02:12:42,500 --> 02:12:45,0
|
|
and then you have to select if the sample is malicious
|
|
|
|
3648
|
|
02:12:44,158 --> 02:12:48,0
|
|
if you don't do anything, what it will be, it will be something
|
|
|
|
3649
|
|
02:12:48,0 --> 02:12:54,0
|
|
like saving report, a pdf report, something that's like supporting you in contextualization
|
|
|
|
3654
|
|
02:12:54,0 --> 02:12:56,600
|
|
could be a screenshot for example things like that.
|
|
|
|
3656
|
|
02:12:56,600 --> 02:13:00,500
|
|
But if you share a sample you have to select "Is a malware sample"
|
|
|
|
3657
|
|
02:13:00,500 --> 02:13:05,0
|
|
because like that MISP will encrypt and hash a file
|
|
|
|
3658
|
|
02:13:05,0 --> 02:13:09,500
|
|
so that means you have a zip file encrypted with a default password "infected"
|
|
|
|
3663
|
|
02:13:08,719 --> 02:13:13,500
|
|
but I got to avoid classical mistake of clicking on a link
|
|
|
|
3664
|
|
02:13:13,500 --> 02:13:17,0
|
|
executing binaries on your analysis machines and so on.
|
|
|
|
3667
|
|
02:13:17,0 --> 02:13:21,500
|
|
you don't want to do that, so if it's malicious always click malware samples
|
|
|
|
3670
|
|
02:13:21,500 --> 02:13:38,500
|
|
then you have one below "Advanced extraction", MISP can do a lot of things behind the scene
|
|
|
|
3673
|
|
02:13:38,500 --> 02:13:33,500
|
|
when you receive a file, in this case it's a window portable executable files
|
|
|
|
3676
|
|
02:13:33,500 --> 02:13:37,500
|
|
so we have particular advanced extraction for those files
|
|
|
|
3677
|
|
02:13:37,500 --> 02:13:43,500
|
|
and we can expand completely the files including resources, code segment, and stuff like that.
|
|
|
|
3679
|
|
02:13:44,0 --> 02:13:45,500
|
|
So I will upload the files.
|
|
|
|
3682
|
|
02:13:53,0 --> 02:13:57,0
|
|
Okay in this case this one was just like a very simple one.
|
|
|
|
3684
|
|
02:13:57,0 --> 02:14:00,500
|
|
So in this case, what do we have? We have an object
|
|
|
|
3685
|
|
02:14:00,500 --> 02:14:05,500
|
|
with the file name, the size-in-bytes and then the hash file,
|
|
|
|
3686
|
|
02:14:01,279 --> 02:14:08,500
|
|
so automatically MISP will do the hashing of the different files
|
|
|
|
3690
|
|
02:14:08,500 --> 02:14:12,0
|
|
the sample itself is attached so you can basically use it
|
|
|
|
3691
|
|
02:14:12,0 --> 02:14:14,880
|
|
and some additional ones like ssdeep for example, mimetype are automatically extracted
|
|
|
|
3695
|
|
02:14:18,880 --> 02:14:22,0
|
|
just maybe for the sake of it I will just take maybe another binary
|
|
|
|
3696
|
|
02:14:22,0 --> 02:14:27,500
|
|
just for showing you what could happen with other binaries.
|
|
|
|
3697
|
|
02:14:27,500 --> 02:14:32,500
|
|
Maybe that's for later for different events so we don't have the objects in this one
|
|
|
|
3701
|
|
02:14:32,500 --> 02:14:34,500
|
|
because it's easier to see for the graph
|
|
|
|
3703
|
|
02:14:34,500 --> 02:14:35,0
|
|
That's fine too.
|
|
|
|
3704
|
|
02:14:35,0 --> 02:14:37,0
|
|
You can show it afterwards
|
|
|
|
3705
|
|
02:14:37,0 --> 02:14:41,0
|
|
Yeah, okay so now we have this again this kind of object attached
|
|
|
|
3707
|
|
02:14:41,0 --> 02:14:43,0
|
|
and there's a relationship to create obviously.
|
|
|
|
3708
|
|
02:14:43,0 --> 02:14:48,0
|
|
Indeed. So in this case the relationship is to the email itself so we know that the email contained
|
|
|
|
3711
|
|
02:14:48,0 --> 02:14:55,500
|
|
this file so what we can do is we can just create relationship between the email and the file
|
|
|
|
3714
|
|
02:14:54,479 --> 02:14:57,500
|
|
and see that email contain that file
|
|
|
|
3716
|
|
02:15:00,500 --> 02:15:03,500
|
|
So you see, it it's again the same model.
|
|
|
|
3717
|
|
02:15:06,500 --> 02:15:08,500
|
|
contains
|
|
|
|
3719
|
|
02:15:15,0 --> 02:15:16,500
|
|
There we go.
|
|
|
|
3720
|
|
02:15:16,500 --> 02:15:19,500
|
|
So now what we can do is if you look further in the email
|
|
|
|
3721
|
|
02:15:19,500 --> 02:15:21,0
|
|
we see that there is a bunch of other stuff still described
|
|
|
|
3722
|
|
02:15:21,0 --> 02:15:25,500
|
|
so what we can do is we can just, now for exercise sake, just take
|
|
|
|
3723
|
|
02:15:25,500 --> 02:15:31,0
|
|
at least the next few lines or the next paragraph
|
|
|
|
3724
|
|
02:15:31,0 --> 02:15:35,500
|
|
and drop the entire paragraph into something called the free text importer.
|
|
|
|
3729
|
|
02:15:35,500 --> 02:15:39,500
|
|
What this will do is it will try to parse this text blob
|
|
|
|
3730
|
|
02:15:39,500 --> 02:15:43,0
|
|
and it will try to extract anything that looks like an indicator out of that
|
|
|
|
3733
|
|
02:15:43,0 --> 02:15:47,500
|
|
So this is another method of basically entering attribute into MISP.
|
|
|
|
3737
|
|
02:15:47,500 --> 02:15:52,500
|
|
So "Freetext Import", we just paste it in there and we just hit "Submit".
|
|
|
|
3739
|
|
02:15:54,000 --> 02:15:57,500
|
|
So MISP will tell us in this case it didn't extract everything actually,
|
|
|
|
3741
|
|
02:15:57,679 --> 02:16:00,500
|
|
so we need to still go back to it and refined a bit more
|
|
|
|
3742
|
|
02:16:00,500 --> 02:16:02,500
|
|
but it extracted some of those things that were in there already.
|
|
|
|
3745
|
|
02:16:03,118 --> 02:16:05,500
|
|
So that's fine, we can just already add those to the event
|
|
|
|
3747
|
|
02:16:08,0 --> 02:16:13,500
|
|
so how does it work behind the scenes is we have a bunch of regex in MISP
|
|
|
|
3748
|
|
02:16:13,500 --> 02:16:18,0
|
|
automatically extracting information from natural text, it's one way to do it.
|
|
|
|
3752
|
|
02:16:18,0 --> 02:16:21,500
|
|
There's another tool for doing it which is part of the event report
|
|
|
|
3755
|
|
02:16:21,500 --> 02:16:26,500
|
|
but it's usually a quick way to automatically extract information
|
|
|
|
3756
|
|
02:16:26,500 --> 02:16:27,500
|
|
and to see if it's already known for example.
|
|
|
|
3758
|
|
02:16:28,500 --> 02:16:34,500
|
|
So what we see here already is that evil provider was basically,
|
|
|
|
3759
|
|
02:16:31,198 --> 02:16:40,500
|
|
according to the email text, the place that was used to download the secondary payload from
|
|
|
|
3760
|
|
02:16:40,500 --> 02:16:46,0
|
|
so we can take evil provider and we also know that we got an IPv6 address to it.
|
|
|
|
3766
|
|
02:16:44,558 --> 02:16:49,500
|
|
So we're going to add that to it as well and convert this into an object again.
|
|
|
|
3769
|
|
02:16:51,0 --> 02:16:54,500
|
|
So we're going to to just select that one convert to object
|
|
|
|
3770
|
|
02:16:54,500 --> 02:17:00,0
|
|
and the object that we're going to convert it to is going to be a "URL" object.
|
|
|
|
3774
|
|
02:17:01,599 --> 02:17:04,500
|
|
Yep. all the way down there. Perfect.
|
|
|
|
3775
|
|
02:17:04,799 --> 02:17:08,0
|
|
Let's just do the conversion and then we edit the object afterwards
|
|
|
|
3776
|
|
02:17:08,0 --> 02:17:10,500
|
|
and we add the additional information that we have about it.
|
|
|
|
3779
|
|
02:17:11,500 --> 02:17:25,500
|
|
So we have an IPv6 that it resolves to. We also have a port.
|
|
|
|
3780
|
|
02:17:25,500 --> 02:17:32,500
|
|
So once we're done with that IP destination, perfect.
|
|
|
|
3784
|
|
02:17:32,500 --> 02:17:41,500
|
|
We can also add the port. It was communicating on port 443.
|
|
|
|
3786
|
|
02:17:41,500 --> 02:17:51,500
|
|
and again everything i'm currently doing there can be done through the API obviously.
|
|
|
|
3788
|
|
02:17:51,500 --> 02:17:56,500
|
|
Yeah and and finally we also have a domain evilprovider.com
|
|
|
|
3790
|
|
02:18:03,0 --> 02:18:07,500
|
|
now let's deal with referencing this to the other objects later on.
|
|
|
|
3792
|
|
02:18:07,500 --> 02:18:12,500
|
|
We can still still add the additional information that we have in there
|
|
|
|
3795
|
|
02:18:12,500 --> 02:18:14,500
|
|
and then we do the linking afterwards.
|
|
|
|
3796
|
|
02:18:14,500 --> 02:18:16,500
|
|
Again, we have the same problem here on this
|
|
|
|
3797
|
|
02:18:16,500 --> 02:18:20,500
|
|
because for example you see that the comment has the port
|
|
|
|
3799
|
|
02:18:20,500 --> 02:18:24,0
|
|
so that means we can just convert it as an object again.
|
|
|
|
3800
|
|
02:18:24,0 --> 02:18:26,500
|
|
Yeah and the IP belongs to that one as well by the way
|
|
|
|
3801
|
|
02:18:26,500 --> 02:18:28,500
|
|
Okay great, it's even better.
|
|
|
|
3802
|
|
02:18:28,500 --> 02:18:30,500
|
|
Yeah exactly.
|
|
|
|
3803
|
|
02:18:30,500 --> 02:18:33,500
|
|
Just my screen that is a bit small. Okay.
|
|
|
|
3805
|
|
02:18:40,0 --> 02:18:42,500
|
|
So in this case, it's again a url.
|
|
|
|
3806
|
|
02:18:48,0 --> 02:18:54,500
|
|
And the things that we have this time the port is actually a high port.
|
|
|
|
3808
|
|
02:18:54,500 --> 02:18:59,500
|
|
So while in the other one we do not correlate on on the port because port 443 is common
|
|
|
|
3811
|
|
02:18:59,500 --> 02:19:03,500
|
|
this is one of those ports that we might want to correlate on already.
|
|
|
|
3813
|
|
02:19:03,500 --> 02:19:06,500
|
|
So we don't want to disable correlation for this one.
|
|
|
|
3815
|
|
02:19:09,840 --> 02:19:15,500
|
|
Where as for the other one we we should disable the correlation for the other port 443.
|
|
|
|
3819
|
|
02:19:21,0 --> 02:19:26,500
|
|
Okay. Now the other thing that we have at this point is we have a secondary sample
|
|
|
|
3821
|
|
02:19:26,500 --> 02:19:30,0
|
|
so if you have a second one that you can upload now.
|
|
|
|
3822
|
|
02:19:30,0 --> 02:19:36,500
|
|
Yeah I just just add the domain so I get {inaudible}. Okay.
|
|
|
|
3824
|
|
02:19:36,500 --> 02:19:39,500
|
|
so what do you want {inaudible}
|
|
|
|
3825
|
|
02:19:39,500 --> 02:19:44,500
|
|
So we still have another file to update and we have a CVE that was also mentioned in the email.
|
|
|
|
3828
|
|
02:19:44,500 --> 02:19:51,0
|
|
Okay. CVE is an interesting one, we have single attributes for CVE
|
|
|
|
3830
|
|
02:19:51,0 --> 02:19:53,500
|
|
but sometimes you want to have some more information
|
|
|
|
3831
|
|
02:19:53,500 --> 02:19:57,500
|
|
so what you could do there is to create a simple attribute
|
|
|
|
3832
|
|
02:19:57,500 --> 02:20:01,500
|
|
so the CVE is "Payload delivery" in this case.
|
|
|
|
3836
|
|
02:20:02,719 --> 02:20:07,500
|
|
We have "Type" which is "Vulnerability" and usually a "Vulnerability" is defined by CVE
|
|
|
|
3838
|
|
02:20:07,500 --> 02:20:13,500
|
|
you can use other value but the best practice is the obviously to use CVE.
|
|
|
|
3841
|
|
02:20:13,500 --> 02:20:19,500
|
|
It's a very old CVE, those kind of attackers are always reusing those kind of old things
|
|
|
|
3843
|
|
02:20:19,500 --> 02:20:23,500
|
|
but you know, it works. You know people never patch their Windows.
|
|
|
|
3846
|
|
02:20:23,500 --> 02:20:26,0
|
|
This one is interesting because you know it was exploited
|
|
|
|
3847
|
|
02:20:26,0 --> 02:20:33,500
|
|
so I would add the IDS flag because it may be interesting to look into your system for additional ones.
|
|
|
|
3851
|
|
02:20:33,500 --> 02:20:35,0
|
|
So in this case, what do we have?
|
|
|
|
3852
|
|
02:20:35,0 --> 02:20:41,500
|
|
We have again, a single attribute, which is not the nice thing that you want to have
|
|
|
|
3853
|
|
02:20:41,500 --> 02:20:45,500
|
|
is basically you want to have as much context as you want for those kind of investigation.
|
|
|
|
3857
|
|
02:20:45,500 --> 02:20:52,500
|
|
Luckily on this instance, we have one of those expansion modules
|
|
|
|
3860
|
|
02:20:52,500 --> 02:20:56,500
|
|
and why the "CVE Advanced" is empty, that is quite interesting.
|
|
|
|
3861
|
|
02:20:56,500 --> 02:21:01,500
|
|
Ok, great. So and then you have some additional information
|
|
|
|
3862
|
|
02:21:01,500 --> 02:21:07,500
|
|
in this case we have some description, so what I can do in this in this one is
|
|
|
|
3866
|
|
02:21:07,500 --> 02:21:13,0
|
|
so you see that we have either the overlay thing
|
|
|
|
3867
|
|
02:21:13,0 --> 02:21:17,0
|
|
so in MISP modules, someone was asking about extension of MISP.
|
|
|
|
3870
|
|
02:21:17,0 --> 02:21:20,500
|
|
This is one way. You have this overlay things where you can basically just do expansions
|
|
|
|
3873
|
|
02:21:20,500 --> 02:21:23,500
|
|
and see okay contextual information
|
|
|
|
3874
|
|
02:21:23,500 --> 02:21:27,500
|
|
but sometimes you just want to have a bit more than just contextual information.
|
|
|
|
3876
|
|
02:21:27,500 --> 02:21:33,500
|
|
You want to have the associated object there
|
|
|
|
3878
|
|
02:21:31,200 --> 02:21:39,500
|
|
so there you have this kind of explosion there and you can add the enrichment
|
|
|
|
3881
|
|
02:21:39,500 --> 02:21:41,500
|
|
I'll give a try on that one
|
|
|
|
3883
|
|
02:21:41,500 --> 02:21:45,500
|
|
Okay great. So there's something wrong on this machine
|
|
|
|
3884
|
|
02:21:45,500 --> 02:21:51,500
|
|
That's great. I'll take the other one but this is not an object but that's fine we can just like...
|
|
|
|
3887
|
|
02:21:51,500 --> 02:21:57,0
|
|
Yeah, we got some attribute in this case so we have basically the description
|
|
|
|
3890
|
|
02:21:57,0 --> 02:22:04,500
|
|
that coming from the enrichment and what we can do is to then make an object called "Vulnerability"
|
|
|
|
3894
|
|
02:22:05,520 --> 02:22:09,500
|
|
and "id", it's not a "credit" in this case is the "description"
|
|
|
|
3896
|
|
02:22:09,500 --> 02:22:15,500
|
|
and make an object of it. Usually you should have a full expansion there
|
|
|
|
3898
|
|
02:22:15,500 --> 02:22:20,500
|
|
but I didn't test it on the training instance maybe something is broken on that instance.
|
|
|
|
3901
|
|
02:22:20,500 --> 02:22:25,500
|
|
Okay so now what do we have is more contextual information.
|
|
|
|
3904
|
|
02:22:27,500 --> 02:22:30,500
|
|
We start with a story and we see that we have an email we have a first url,
|
|
|
|
3905
|
|
02:22:30,500 --> 02:22:33,500
|
|
a second one which is a download and a specific CVE.
|
|
|
|
3907
|
|
02:22:33,500 --> 02:22:36,0
|
|
So maybe now we can go back to the...
|
|
|
|
3908
|
|
02:22:36,0 --> 02:22:40,500
|
|
We still miss one thing which was a secondary file that was downloaded.
|
|
|
|
3909
|
|
02:22:38,79 --> 02:22:42,239
|
|
|
|
3910
|
|
02:22:40,500 --> 02:22:43,500
|
|
Oh okay. The secondary files, yes.
|
|
|
|
3912
|
|
02:22:43,500 --> 02:22:51,500
|
|
Yeah. So according to story what happens was the initial sample was when executed
|
|
|
|
3915
|
|
02:22:51,500 --> 02:22:55,500
|
|
was downloading a secondary sample and that one was basically
|
|
|
|
3919
|
|
02:22:55,500 --> 02:23:00,500
|
|
then used to exfiltrate data from from the system.
|
|
|
|
3920
|
|
02:23:00,719 --> 02:23:07,0
|
|
Yes, so this was a {inaudible} malicious file okay then I will add...
|
|
|
|
|
|
3923
|
|
02:23:07,0 --> 02:23:12,0
|
|
Yeah just another file and we just pretend it's the one that we were supposed to use.
|
|
|
|
3926
|
|
02:23:12,0 --> 02:23:19,0
|
|
Why is this one makes sense, it's an Emotet one {inaudible}, that makes sense.
|
|
|
|
3930
|
|
02:23:21,0 --> 02:23:24,0
|
|
so now we have all these different objects in our event
|
|
|
|
3931
|
|
02:23:24,0 --> 02:23:26,0
|
|
and it's time to build the story out of it as Alex has mentioned.
|
|
|
|
3932
|
|
02:23:26,0 --> 02:23:29,500
|
|
So it's time to go back to our event graph.
|
|
|
|
3935
|
|
02:23:34,0 --> 02:23:38,500
|
|
And basically so far the story is that we got an email.
|
|
|
|
3938
|
|
02:23:38,500 --> 02:23:44,500
|
|
The email was impersonating a person and we basically got a primary sample out of it.
|
|
|
|
3939
|
|
02:23:44,500 --> 02:23:52,500
|
|
That primary sample then reaches out to evilprovider.com to download a secondary sample.
|
|
|
|
3942
|
|
02:23:52,500 --> 02:24:03,500
|
|
So we have a relationship between the file which "downloads-from". "downloads-from" yeah.
|
|
|
|
3946
|
|
02:24:03,500 --> 02:24:05,500
|
|
Perfect.
|
|
|
|
3947
|
|
02:24:05,500 --> 02:24:12,500
|
|
from "evilprovider" and then "evilprovider" downloads the secondary sample
|
|
|
|
3950
|
|
02:24:19,0 --> 02:24:40,0
|
|
which is in this case "index.html.1" and this one then exfiltrates to another evilprovider url.
|
|
|
|
3953
|
|
02:24:51,0 --> 02:24:55,500
|
|
Now there's one thing we missed in the story here is that the first one try
|
|
|
|
3955
|
|
02:24:55,500 --> 02:25:59,0
|
|
so in this case "trilog.exe" was actually abusing the CVE that
|
|
|
|
3956
|
|
02:25:59,0 --> 02:25:08,500
|
|
that Alex has already expanded so we have an abuser's relationship from "trilog.exe" to vulnerability.
|
|
|
|
3961
|
|
02:25:14,0 --> 02:25:17,0
|
|
So and once we're done with this we already see the entire story in this graph.
|
|
|
|
3963
|
|
02:25:17,0 --> 02:25:22,500
|
|
So even if you have no idea about what happened in the report and you don't read the original report
|
|
|
|
3966
|
|
02:25:22,500 --> 02:25:29,0
|
|
by just looking at this graph you can clearly read it out in simple sentences.
|
|
|
|
3969
|
|
02:25:29,0 --> 02:25:33,500
|
|
We see email impersonator a person, John. Email contains "trilog.exe"
|
|
|
|
3970
|
|
02:25:31,520 --> 02:25:40,500
|
|
and that exploits the vulnerability. Downloads from evilprovider.com, "index.html.1".
|
|
|
|
3974
|
|
02:25:40,500 --> 02:25:43,0
|
|
which exfiltrates to a url.
|
|
|
|
3975
|
|
02:25:43,0 --> 02:25:48,500
|
|
So it's a very simple story to comprehend without us knowing the original data information
|
|
|
|
3978
|
|
02:25:48,500 --> 02:25:53,500
|
|
and without us having even having to look at the individual indicators further below.
|
|
|
|
3982
|
|
02:25:53,500 --> 02:25:58,500
|
|
So this is when we're talking about information sharing we're basically sharing on two layers.
|
|
|
|
3985
|
|
02:25:59,40 --> 02:26:03,500
|
|
One of the layers is sharing with machines so informing an IDS about things to alert on
|
|
|
|
3988
|
|
02:26:04,79 --> 02:26:06,500
|
|
and at the same time we're sharing with analysts
|
|
|
|
3989
|
|
02:26:06,500 --> 02:26:09,500
|
|
that want to really understand what the threat actor was doing in this case
|
|
|
|
3992
|
|
02:26:09,500 --> 02:26:11,500
|
|
and what happened during the incident.
|
|
|
|
3993
|
|
02:26:11,500 --> 02:26:17,500
|
|
However at this stage, we have described our event but we're still missing something at this point.
|
|
|
|
3996
|
|
02:26:17,500 --> 02:26:23,0
|
|
We still haven't actually contextualized the information with everything else that we know about it.
|
|
|
|
3999
|
|
02:26:23,0 --> 02:26:30,0
|
|
So we have vocabularies at our disposal, we have the ATTACK matrix at our disposal
|
|
|
|
4002
|
|
02:26:30,0 --> 02:26:32,0
|
|
So let's start going through the individual attributes
|
|
|
|
4004
|
|
02:26:32,0 --> 02:26:35,500
|
|
and let's start to attach those different labels to the data
|
|
|
|
4007
|
|
02:26:35,500 --> 02:26:42,500
|
|
so first of all if we look at perhaps, which one should we start with?
|
|
|
|
4010
|
|
02:26:42,500 --> 02:26:45,500
|
|
Let's not do everything. Let's look at the original email for example.
|
|
|
|
4012
|
|
02:26:45,500 --> 02:26:48,500
|
|
We know that the original email deals with phishing.
|
|
|
|
4014
|
|
02:26:48,500 --> 02:26:51,500
|
|
Now ATTACK has a pattern that describes phishing
|
|
|
|
4015
|
|
02:26:51,500 --> 02:26:57,500
|
|
so we can just attach the galaxy cluster of attack to the attributes in there.
|
|
|
|
4018
|
|
02:26:57,500 --> 02:27:01,500
|
|
So we use cluster yeah.
|
|
|
|
4019
|
|
02:27:01,500 --> 02:27:06,0
|
|
and we can just use ATTACK. mitre-attack, perfect.
|
|
|
|
4020
|
|
02:27:06,0 --> 02:27:09,500
|
|
and we can click on "Attack Pattern" then we get the attack matrix
|
|
|
|
4023
|
|
02:27:11,200 --> 02:27:17,500
|
|
and here we can select "Phishing". It should be in...
|
|
|
|
4026
|
|
02:27:18,500 --> 02:27:20,500
|
|
Yeah there it is perfect.
|
|
|
|
4027
|
|
02:27:20,500 --> 02:27:28,500
|
|
So we attach it. We refresh and there we see it is now attached to the attribute
|
|
|
|
4030
|
|
02:27:28,500 --> 02:27:32,500
|
|
and if we generate a heat map now out of the events if we scroll up.
|
|
|
|
4033
|
|
02:27:32,500 --> 02:27:36,500
|
|
We have an attack matrix view next to the event graph.
|
|
|
|
4035
|
|
02:27:36,500 --> 02:27:43,0
|
|
If we click on that one now we now see that as a first overview already we know
|
|
|
|
4036
|
|
02:27:43,0 --> 02:27:46,500
|
|
without looking at any of the details we see that we're dealing with phishing here.
|
|
|
|
4040
|
|
02:27:46,500 --> 02:27:49,500
|
|
So this is one of the attack patterns that we've described.
|
|
|
|
4041
|
|
02:27:49,500 --> 02:27:52,0
|
|
let's see what other attack patterns from attack we can describe
|
|
|
|
4043
|
|
02:27:52,0 --> 02:27:55,0
|
|
You also see that there is automated exfiltration happening.
|
|
|
|
4046
|
|
02:27:55,0 --> 02:28:00,0
|
|
So if we go to the secondary url, so another evilprovider.com.
|
|
|
|
4049
|
|
02:28:03,0 --> 02:28:05,500
|
|
We can attach the pattern there as well.
|
|
|
|
4050
|
|
02:28:05,500 --> 02:28:10,500
|
|
now we can choose to do a single attribute what we're doing or we can just select all 4
|
|
|
|
|
|
4053
|
|
02:28:10,500 --> 02:28:13,500
|
|
and attach the cluster to all 4 for let's just do one for now, it's enough.
|
|
|
|
4056
|
|
02:28:15,500 --> 02:28:24,0
|
|
Watch out it's... Yeah, perfect. And just pick "Automated Exfiltration".
|
|
|
|
4058
|
|
02:28:24,0 --> 02:28:27,0
|
|
It's the first one on the... Yeah.
|
|
|
|
4060
|
|
02:28:30,0 --> 02:28:35,500
|
|
Okay so now we've attached some attack patterns, we could attach it to the sample as well.
|
|
|
|
4063
|
|
02:28:35,500 --> 02:28:39,0
|
|
What the sample is doing but we're not going to go through all that effort
|
|
|
|
4065
|
|
02:28:39,0 --> 02:28:43,500
|
|
Let's look at some type of contextualization for example...
|
|
|
|
4069
|
|
02:28:47,120 --> 02:28:47,500
|
|
maybe this then it's a matter of taste again regarding
|
|
|
|
4073
|
|
02:28:47,500 --> 02:28:51,500
|
|
at which level you want to attach the galaxy
|
|
|
|
4074
|
|
02:28:51,500 --> 02:28:58,500
|
|
there is really the topic is a matter of phishing at a global level, usually we can add a galaxy there
|
|
|
|
4075
|
|
02:28:58,500 --> 02:29:03,500
|
|
and then for example add MITRE ATTACK directly there
|
|
|
|
4076
|
|
02:29:03,500 --> 02:29:09,500
|
|
and select the pattern phishing then the techniques there directly.
|
|
|
|
4078
|
|
02:29:09,500 --> 02:29:14,500
|
|
so you have different options usually we recommend to make it at attribute level
|
|
|
|
4081
|
|
02:29:14,500 --> 02:29:21,500
|
|
but in some case you don't even know which attribute level it applies then you select the event level.
|
|
|
|
4084
|
|
02:29:21,500 --> 02:29:26,500
|
|
Exactly. So that's indeed a good point if you know that the entire chain of what you're describing
|
|
|
|
4087
|
|
02:29:26,500 --> 02:29:34,500
|
|
references to a single contextualization, be it label, be it a galaxy cluster then indeed
|
|
|
|
4090
|
|
02:29:34,500 --> 02:29:39,500
|
|
what we assume is anything that you label on the event level is inherited by all
|
|
|
|
4091
|
|
02:29:39,500 --> 02:29:43,500
|
|
data contained within unless explicitly overwritten by the opposite tag basically.
|
|
|
|
4095
|
|
02:29:43,500 --> 02:29:51,500
|
|
So indeed that's the case. In this case we're kind of in a weird situation
|
|
|
|
4096
|
|
02:29:51,500 --> 02:29:55,500
|
|
because we're describing the full chain of the attack which includes initial phishing attempt
|
|
|
|
4100
|
|
02:29:55,500 --> 02:29:59,500
|
|
but also includes the secondary payload and the exfiltration and so on
|
|
|
|
4103
|
|
02:29:59,500 --> 02:30:03,500
|
|
and if we do this on the attribute level as oppose to the event level
|
|
|
|
4106
|
|
02:30:03,500 --> 02:30:08,0
|
|
then you're really only describing which part deals with the phishing
|
|
|
|
4107
|
|
02:30:08,0 --> 02:30:11,500
|
|
which part deals with the actual exfiltration and so on.
|
|
|
|
4111
|
|
02:30:11,500 --> 02:30:16,0
|
|
So this is really up to you. What we generally recommend is don't just do it on the event level.
|
|
|
|
4114
|
|
02:30:16,0 --> 02:30:19,500
|
|
So if you're describing more concepts in a single event
|
|
|
|
4115
|
|
02:30:19,500 --> 02:30:22,0
|
|
make sure that you contextualize individual parts of it
|
|
|
|
4118
|
|
02:30:22,0 --> 02:30:26,500
|
|
because one of one of the things that we use these labels for as well is Searches.
|
|
|
|
|
|
4120
|
|
02:30:26,500 --> 02:30:29,500
|
|
so if I were to search for all indicators that relate to phishing
|
|
|
|
4121
|
|
02:30:29,500 --> 02:30:36,500
|
|
I might not want to get the secondary payloads artifacts included in that response.
|
|
|
|
4125
|
|
02:30:35,920 --> 02:30:40,500
|
|
because that was just the initial vector of getting into the network of the victim
|
|
|
|
4128
|
|
02:30:40,500 --> 02:30:44,500
|
|
whatever happens afterwards is not directly related to the phishing.
|
|
|
|
4130
|
|
02:30:44,500 --> 02:30:47,500
|
|
So keep that in mind as well. something else...
|
|
|
|
4132
|
|
02:30:47,500 --> 02:30:52,500
|
|
Yeah so just something that you have to keep in mind too it's about
|
|
|
|
4133
|
|
02:30:52,500 --> 02:30:58,500
|
|
which classification to choose or which contextualization source you want to use.
|
|
|
|
4138
|
|
02:30:58,500 --> 02:31:01,500
|
|
On this instance, we have already a lot of things enabled
|
|
|
|
4139
|
|
02:31:01,500 --> 02:31:07,500
|
|
and if for example you go for taxonomy. You have a lot of taxonomy that is describing phishing.
|
|
|
|
4143
|
|
02:31:07,500 --> 02:31:15,500
|
|
For example you have even a complete taxonomy about the kind of phishing you have and so on.
|
|
|
|
4147
|
|
02:31:15,500 --> 02:31:20,500
|
|
So when you install your MISP instance and you start to make it operational
|
|
|
|
4149
|
|
02:31:20,500 --> 02:31:24,500
|
|
you really have to decide what kind of taxonomy you want to use
|
|
|
|
4151
|
|
02:31:24,500 --> 02:31:29,500
|
|
in this case we have already a lot of things are available by default
|
|
|
|
4153
|
|
02:31:29,920 --> 02:31:36,500
|
|
so the phishing taxonomy itself is a complete one coming from I think {inaudible} academic paper
|
|
|
|
4155
|
|
02:31:35,200 --> 02:31:38,0
|
|
where we have all the techniques that are used.
|
|
|
|
4157
|
|
02:31:38,0 --> 02:31:45,500
|
|
So for example you can say that this one is coming from a spearphishing
|
|
|
|
4159
|
|
02:31:45,500 --> 02:31:51,500
|
|
which was described there and you have the different techniques.
|
|
|
|
4161
|
|
02:31:51,500 --> 02:31:53,500
|
|
So in this case it's email spoofing
|
|
|
|
4162
|
|
02:31:53,500 --> 02:31:57,760
|
|
and you can go deeper there into the description of what is exactly the phishing.
|
|
|
|
4165
|
|
02:31:58,719 --> 02:32:05,500
|
|
and you can mix match both. I mean Andras selected the ATTACK phishing techniques
|
|
|
|
4167
|
|
02:32:05,500 --> 02:32:07,0
|
|
at specific indicator level
|
|
|
|
4169
|
|
02:32:07,0 --> 02:32:12,500
|
|
Maybe another analyst would want to classify it and maybe the objectives might be different.
|
|
|
|
4172
|
|
02:32:12,500 --> 02:32:16,500
|
|
Maybe on one, for example it's more specific for tools.
|
|
|
|
4174
|
|
02:32:16,719 --> 02:32:21,500
|
|
But if you want to run out statistics at the end of, I don't know, quarterly meetings
|
|
|
|
4177
|
|
02:32:21,500 --> 02:32:25,500
|
|
and say okay, how many spearfishing that you receive or maybe emails spoofing.
|
|
|
|
4179
|
|
02:32:25,600 --> 02:32:30,0
|
|
For example if you can control better emails spoofing, the SPF record and so on
|
|
|
|
4181
|
|
02:32:30,0 --> 02:32:34,0
|
|
you can just look at the current technique that are used by by the attacker.
|
|
|
|
|
|
4184
|
|
02:32:34,0 --> 02:32:39,500
|
|
So you see that those kind of, it's full of taxonomies that can be used
|
|
|
|
4187
|
|
02:32:39,500 --> 02:32:44,0
|
|
and obviously we usually recommend to not enable everything
|
|
|
|
4189
|
|
02:32:44,0 --> 02:32:47,500
|
|
but just pick what you really want and some are very generic,
|
|
|
|
4191
|
|
02:32:47,500 --> 02:32:53,0
|
|
some are more advanced but that's maybe something that we dig into more afterwards
|
|
|
|
4193
|
|
02:32:53,0 --> 02:32:58,500
|
|
but just be careful of which kind of taxonomy you want to use because it will be the language
|
|
|
|
4196
|
|
02:32:58,500 --> 02:33:05,500
|
|
that you use with the community and your partners for sharing this information.
|
|
|
|
4200
|
|
02:33:09,0 --> 02:33:13,500
|
|
Maybe something interesting to look into the email and that's linked to classifications
|
|
|
|
4202
|
|
02:33:13,500 --> 02:33:15,500
|
|
but there's this comment there
|
|
|
|
4204
|
|
02:33:16,0 --> 02:33:19,0
|
|
"Please be mindful that this is an ongoing investigation
|
|
|
|
4206
|
|
02:33:19,0 --> 02:33:24,0
|
|
and we would like to avoid informing the attacker of the detection
|
|
|
|
4207
|
|
02:33:24,0 --> 02:33:30,0
|
|
and kindly ask you to to only use the contained information to protect your constituents".
|
|
|
|
4211
|
|
02:33:30,0 --> 02:33:37,500
|
|
So this is kind of your language describing to you what kind of classification it is.
|
|
|
|
4214
|
|
02:33:37,500 --> 02:33:47,0
|
|
And so now which one should we use so if we are FIRST members, if we are using the FIRST community
|
|
|
|
4217
|
|
02:33:47,0 --> 02:33:51,500
|
|
obviously the classification that we will use is not the NATO one,
|
|
|
|
4218
|
|
02:33:48,639 --> 02:33:55,0
|
|
or the Ministry of Defense in whatever country, it's really TLP.
|
|
|
|
4222
|
|
02:33:55,0 --> 02:34:05,500
|
|
So then again based on that, we will look into different taxonomy that we have
|
|
|
|
4223
|
|
02:34:01,840 --> 02:34:09,200
|
|
|
|
|
|
4224
|
|
02:34:05,500 --> 02:34:11,500
|
|
we can look for TLP and I should not do that like that.
|
|
|
|
4226
|
|
02:34:12,0 --> 02:34:20,0
|
|
I go for the TLP library and then I have the specific taxonomy TLP
|
|
|
|
4227
|
|
02:34:20,0 --> 02:34:22,500
|
|
and then you have the different one.
|
|
|
|
4230
|
|
02:34:22,500 --> 02:34:26,0
|
|
In this case they say you have to share it with your constituents only
|
|
|
|
4231
|
|
02:34:26,0 --> 02:34:31,500
|
|
so TLP amber seems to be the most appropriate one.
|
|
|
|
4234
|
|
02:34:31,500 --> 02:34:34,500
|
|
We say that the TLP Amber information is given to organization
|
|
|
|
4236
|
|
02:34:34,500 --> 02:34:37,500
|
|
sharing limited within organization to basically act upon.
|
|
|
|
4238
|
|
02:34:38,0 --> 02:34:45,0
|
|
If we have the extended classifications from FIRST it includes the constituent too.
|
|
|
|
4241
|
|
02:34:45,0 --> 02:34:49,500
|
|
So I will just use a TLP but I mentioned something else that is interesting.
|
|
|
|
4244
|
|
02:34:49,500 --> 02:34:59,500
|
|
In the email they mentioned that this is an ongoing investigation, to avoid informing the attacker.
|
|
|
|
4245
|
|
02:34:59,500 --> 02:35:06,0
|
|
In this case, how would you inform the attacker but if you do actions on specific indicators and attributes
|
|
|
|
4251
|
|
02:35:06,0 --> 02:35:10,0
|
|
you might want to restrict that so there is another classification,
|
|
|
|
4252
|
|
02:35:10,0 --> 02:35:11,500
|
|
I don't know if this one is enabled.
|
|
|
|
4254
|
|
02:35:11,500 --> 02:35:18,500
|
|
It's called PAP which is exactly that, it's similar to TLP
|
|
|
|
4256
|
|
02:35:18,500 --> 02:35:21,500
|
|
but describing what you can do with this information.
|
|
|
|
4257
|
|
02:35:21,500 --> 02:35:28,500
|
|
If we don't want to at least notify the attacker that we are doing some further investigations.
|
|
|
|
4260
|
|
02:35:27,439 --> 02:35:34,0
|
|
Maybe we want to restrict that and the PAP is really telling you
|
|
|
|
4261
|
|
02:35:34,0 --> 02:35:36,500
|
|
what are the permissive action that you can do.
|
|
|
|
4265
|
|
02:35:36,500 --> 02:35:43,500
|
|
In our case, "PAP: RED" for example, non-detectable actions only and that's really what we wants
|
|
|
|
4268
|
|
02:35:43,500 --> 02:35:48,500
|
|
because the reporter say okay we have an ongoing investigation
|
|
|
|
4269
|
|
02:35:48,500 --> 02:35:51,500
|
|
so you don't want the other parties are informed.
|
|
|
|
4272
|
|
02:35:51,500 --> 02:35:56,500
|
|
So in this case, I will use RED and again this is used at event level
|
|
|
|
4274
|
|
02:35:56,500 --> 02:36:00,500
|
|
and that's something quite important because MISP will take care of that.
|
|
|
|
4276
|
|
02:36:00,478 --> 02:36:04,500
|
|
You don't need to set "PAP: RED" on every single attribute.
|
|
|
|
4278
|
|
02:36:04,639 --> 02:36:11,500
|
|
Behind, it's really at event level so it's automatically allocating on all attributes
|
|
|
|
4281
|
|
02:36:11,500 --> 02:36:15,500
|
|
We don't show it on the interface because it will be too cramp.
|
|
|
|
4283
|
|
02:36:16,0 --> 02:36:21,500
|
|
You know, overloaded with information but we do it in a way that's on the API level.
|
|
|
|
4285
|
|
02:36:21,600 --> 02:36:25,500
|
|
If you do {inaudible} search. for example on event level or attribute level
|
|
|
|
4287
|
|
02:36:25,500 --> 02:36:32,500
|
|
"PAP: RED" will be included there if you have an attribute containing some information
|
|
|
|
4288
|
|
02:36:32,500 --> 02:36:38,500
|
|
automatically tags like "PAP: RED" will be then included into the information.
|
|
|
|
4292
|
|
02:36:38,500 --> 02:36:41,500
|
|
So that's something to keep in mind when we have information from third party
|
|
|
|
4294
|
|
02:36:41,500 --> 02:36:45,0
|
|
is to to wonder okay what is the classification scheme
|
|
|
|
4295
|
|
02:36:45,0 --> 02:36:49,500
|
|
so sometimes they don't say a specific classification to use that you just use natural language
|
|
|
|
4299
|
|
02:36:49,500 --> 02:36:54,500
|
|
or just a normal sentence to describe all the information should be shared.
|
|
|
|
4300
|
|
02:36:54,500 --> 02:36:58,500
|
|
So the interesting thing here is that what we've seen now is
|
|
|
|
4303
|
|
02:36:58,500 --> 02:37:01,0
|
|
we've contextualized information in many different aspects
|
|
|
|
4306
|
|
02:37:01,0 --> 02:37:07,500
|
|
and this is just scraping the top layer basically
|
|
|
|
4307
|
|
02:37:07,500 --> 02:37:09,0
|
|
we could go much much further with contextualization.
|
|
|
|
4308
|
|
02:37:09,0 --> 02:37:14,500
|
|
Imagine for example describing how this information is relevant to whether it's used.
|
|
|
|
4311
|
|
02:37:14,500 --> 02:37:18,0
|
|
What sort of mechanisms they should have in place to be able to block this information?
|
|
|
|
4313
|
|
02:37:18,0 --> 02:37:21,500
|
|
How can you make this useful? Think of different maturity organizations as well
|
|
|
|
4316
|
|
02:37:21,500 --> 02:37:26,500
|
|
when you're sharing information. You could also describe information about who's behind it,
|
|
|
|
4318
|
|
02:37:26,500 --> 02:37:29,0
|
|
what the motivations are? So we did not describe the threat actor
|
|
|
|
4321
|
|
02:37:29,0 --> 02:37:32,0
|
|
because we haven't done any analysis yet.
|
|
|
|
4323
|
|
02:37:32,0 --> 02:37:36,500
|
|
This is the initial information we got from a CSIRT that just reported an incident to us
|
|
|
|
4325
|
|
02:37:36,500 --> 02:37:41,500
|
|
but we could go further and if we did our analysis we would find who's behind this
|
|
|
|
4327
|
|
02:37:41,500 --> 02:37:46,500
|
|
we could go for information with the threat actor, we could look at target sectors
|
|
|
|
4330
|
|
02:37:46,500 --> 02:37:53,500
|
|
we could look at a lot of different information in regards to to further contextualizing the information.
|
|
|
|
4334
|
|
02:37:58,0 --> 02:38:00,500
|
|
So in this case we could also, for example say that's in the {inaudible} where
|
|
|
|
4336
|
|
02:38:00,500 --> 02:38:04,500
|
|
because we know that this is something that was targeting an organization in Luxembourg.
|
|
|
|
4339
|
|
02:38:04,500 --> 02:38:09,500
|
|
We know there is also a sector taxonomy that you can use
|
|
|
|
4340
|
|
02:38:09,500 --> 02:38:12,500
|
|
so that's not a galaxy but the taxonomy.
|
|
|
|
4343
|
|
02:38:12,500 --> 02:38:16,0
|
|
So we can also add for example information about the financial sector
|
|
|
|
4345
|
|
02:38:16,0 --> 02:38:19,500
|
|
We know the CEO is a CEO of a financial sector organization.
|
|
|
|
4347
|
|
02:38:20,79 --> 02:38:23,500
|
|
So we could also say that it's probably has to do with that as well.
|
|
|
|
4349
|
|
02:38:23,760 --> 02:38:25,500
|
|
Maybe it's not enabled, sorry about that.
|
|
|
|
4350
|
|
02:38:25,500 --> 02:38:32,0
|
|
Yeah this one never. But if you search... Yeah, exactly, there.
|
|
|
|
4351
|
|
02:38:32,0 --> 02:38:34,500
|
|
If you just search for "sector", it should be there.
|
|
|
|
4353
|
|
02:38:34,500 --> 02:38:40,500
|
|
Yeah but I'm... Yeah there's something that you can do talk about it later but it's...
|
|
|
|
4355
|
|
02:38:40,500 --> 02:38:45,0
|
|
"sector" so we have different one.
|
|
|
|
4357
|
|
02:38:45,0 --> 02:38:50,500
|
|
Maybe you find that so if... there was one for finance you can just pick that, yeah.
|
|
|
|
4360
|
|
02:38:50,500 --> 02:38:56,500
|
|
Yeah, something else you can do and this one is important too,
|
|
|
|
4361
|
|
02:38:56,500 --> 02:39:00,500
|
|
it's going a bit further than the email. So for example, as a source
|
|
|
|
4363
|
|
02:38:59,40 --> 02:39:04,0
|
|
we receive emails from various people, I mean if I receive an email from,
|
|
|
|
4366
|
|
02:39:04,0 --> 02:39:07,000
|
|
I don't know, from an analyst from, I don't know, he is at Mcafee and so on,
|
|
|
|
4367
|
|
02:39:07,000 --> 02:39:13,500
|
|
that I'm working with them for years my confidence on this information is quite high.
|
|
|
|
4372
|
|
02:39:13,500 --> 02:39:19,0
|
|
On the other hand, if I receive an email from someone unknown maybe my confidence will be a bit different.
|
|
|
|
4376
|
|
02:39:19,0 --> 02:39:23,500
|
|
So in MISP, you have plenty of taxonomies to express confidence.
|
|
|
|
4378
|
|
02:39:23,500 --> 02:39:31,500
|
|
For example, the one that is actively used, for example, the military network is Admiralty Scale or NATO scale
|
|
|
|
4381
|
|
02:39:31,500 --> 02:39:36,500
|
|
where you can basically define the credibility of the source.
|
|
|
|
4383
|
|
02:39:36,500 --> 02:39:43,500
|
|
In this case, we can say that we know the source and is usually reliable so that's the source itself.
|
|
|
|
4387
|
|
02:39:43,500 --> 02:39:51,500
|
|
and we can say for this specific information that is probably true because they send us some evidence.
|
|
|
|
4391
|
|
02:39:51,500 --> 02:39:59,500
|
|
Now if I have like three emails talking about the same case maybe my level of credibility will increase
|
|
|
|
4395
|
|
02:39:59,500 --> 02:40:03,500
|
|
because we have multiple people that have seen exactly the same kind of thing
|
|
|
|
4397
|
|
02:40:03,500 --> 02:40:06,500
|
|
So in this case I will have those kind of information there
|
|
|
|
4398
|
|
02:40:06,500 --> 02:40:11,500
|
|
Again it's a way to really contextualize information and the quality of the information
|
|
|
|
4402
|
|
02:40:11,500 --> 02:40:19,500
|
|
and you have, for example, additional one like, for example, we have one called "estimative-language".
|
|
|
|
4403
|
|
02:40:19,760 --> 02:40:23,500
|
|
so this one is more coming from DNI and the CIA.
|
|
|
|
4407
|
|
02:40:23,500 --> 02:40:26,500
|
|
It's like the likelihood of probability that this happen.
|
|
|
|
4409
|
|
02:40:27,439 --> 02:40:31,0
|
|
So we can say that this one has been almost certain and then we can even qualify
|
|
|
|
4412
|
|
02:40:31,0 --> 02:40:37,0
|
|
or own analysis judgment on this and I can say that it was like quickly done
|
|
|
|
4414
|
|
02:40:37,0 --> 02:40:40,500
|
|
and it's not perfect, I will just say low for example.
|
|
|
|
4417
|
|
02:40:40,500 --> 02:40:43,500
|
|
So then you can have this kind of information.
|
|
|
|
4418
|
|
02:40:42,318 --> 02:40:47,500
|
|
And you can either use it as an event level again or a specific attribute.
|
|
|
|
4420
|
|
02:40:46,318 --> 02:40:52,500
|
|
So for example, if one of the emails it was like, not properly collected or it was skirts,
|
|
|
|
4423
|
|
02:40:52,500 --> 02:40:55,500
|
|
or someone modified the headers and so on, maybe you can reduce
|
|
|
|
4425
|
|
02:40:55,500 --> 02:40:59,500
|
|
the summative language of the confidence level that you have
|
|
|
|
4429
|
|
02:40:59,500 --> 02:41:06,500
|
|
in the analytic judgment of the specific evidence or element by tagging that at the attribute level.
|
|
|
|
4431
|
|
02:41:06,500 --> 02:41:11,500
|
|
So again, those kind of information that we are putting there are factors and so on and more like event level.
|
|
|
|
4434
|
|
02:41:11,500 --> 02:41:15,500
|
|
But if you have really specific things that need to be changed
|
|
|
|
4436
|
|
02:41:15,500 --> 02:41:22,500
|
|
or that are specific to the attribute or object then you can change it at the attribute level.
|
|
|
|
4439
|
|
02:41:26,0 --> 02:41:29,500
|
|
Just some other thing on the user interface that might be useful too that we skipped.
|
|
|
|
4442
|
|
02:41:29,500 --> 02:41:34,500
|
|
On the metadata of the event you have plenty of information there.
|
|
|
|
4444
|
|
02:41:35,840 --> 02:41:39,0
|
|
Why that is interesting regarding "organization only" and "distribution",
|
|
|
|
4446
|
|
02:41:39,0 --> 02:41:41,500
|
|
In this case, we just distribute to the organization
|
|
|
|
4449
|
|
02:41:41,500 --> 02:41:45,500
|
|
but if you have pretty large event at some point in time and you want to distribute.
|
|
|
|
4450
|
|
02:41:45,500 --> 02:41:51,500
|
|
You have this kind of overview there which is helping you to see at which level you share this information
|
|
|
|
4453
|
|
02:41:51,500 --> 02:41:56,500
|
|
In this case, it's super easy. We just distribute it to the training organization, that's fine.
|
|
|
|
4456
|
|
02:41:56,500 --> 02:42:00,500
|
|
But if you have a pretty large instance with a lot of organization and so on
|
|
|
|
4458
|
|
02:42:00,500 --> 02:42:06,500
|
|
It will display you a full graph of where the information will flow and will be distributed.
|
|
|
|
4461
|
|
02:42:08,0 --> 02:42:14,500
|
|
Okay. Now going back to our event, basically the reason why we went so deeply into the contextualization part
|
|
|
|
4464
|
|
02:42:14,500 --> 02:42:21,500
|
|
is looking at this event we can already use this right away when feeding our tools,
|
|
|
|
4467
|
|
02:42:20,0 --> 02:42:26,500
|
|
when doing our searches, to basically search for anything targeting the financial sector for example.
|
|
|
|
4472
|
|
02:42:26,500 --> 02:42:34,0
|
|
we can search for anything related to phishing and find the data contained in this particular event
|
|
|
|
4475
|
|
02:42:34,0 --> 02:42:46,500
|
|
So this already helps us with our filtering mechanisms.
|
|
|
|
4476
|
|
02:42:46,500 --> 02:42:46,500
|
|
As for PAP and TLP, those tags we can use when we make decisions on which tools we feed the data to
|
|
|
|
4480
|
|
02:42:46,500 --> 02:42:49,500
|
|
or which partners we share the information within the case of TLP.
|
|
|
|
4482
|
|
02:42:49,500 --> 02:42:54,500
|
|
So we're going to see that more tomorrow when we're creating synchronization links with other instances.
|
|
|
|
4486
|
|
02:42:54,500 --> 02:43:01,0
|
|
We can for example set restrictions on TLP when we're pushing data to another node and we can say
|
|
|
|
4489
|
|
02:43:01,0 --> 02:43:07,500
|
|
okay, no matter what distribution setting don't send anything TLP Amber in this direction for example.
|
|
|
|
4493
|
|
02:43:07,500 --> 02:43:13,500
|
|
Yeah, as an example there's a very good open source tool called TheHive for threat hunting
|
|
|
|
4497
|
|
02:43:13,500 --> 02:43:17,0
|
|
and they use PAP to know which kind of actions they can do on the data.
|
|
|
|
4498
|
|
02:43:17,00 --> 02:43:24,0
|
|
So if you synchronize MISP with TheHive instance you can really be sure that
|
|
|
|
4501
|
|
02:43:24,0 --> 02:43:30,0
|
|
what you set as PAP for example "RED" on the MISP instance will not generate issues
|
|
|
|
4503
|
|
02:43:30,0 --> 02:43:34,500
|
|
when you are starting to expansion within Cortex on TheHive
|
|
|
|
4506
|
|
02:43:34,500 --> 02:43:38,500
|
|
to be sure that the information is not basically flowing somewhere else.
|
|
|
|
4508
|
|
02:43:38,500 --> 02:43:45,500
|
|
So at this point something that we didn't do so far is we did not include the initial email.
|
|
|
|
4510
|
|
02:43:45,500 --> 02:43:48,0
|
|
So what we're going to do now is we're going to use another functionality of MISP
|
|
|
|
4513
|
|
02:43:48,0 --> 02:43:52,500
|
|
that we haven't talked much about called the report, the event report.
|
|
|
|
4514
|
|
02:43:51,200 --> 02:44:00,0
|
|
We can also include clear text information such as a report description and so on together with the event.
|
|
|
|
4518
|
|
02:44:00,398 --> 02:44:04,500
|
|
So what we're going to do now is something very simple, we're not going to write our own report.
|
|
|
|
4520
|
|
02:44:04,500 --> 02:44:07,500
|
|
We have a report already available from the original source
|
|
|
|
4523
|
|
02:44:07,500 --> 02:44:11,0
|
|
so we're just going to paste that entire email in.
|
|
|
|
4525
|
|
02:44:14,0 --> 02:44:17,0
|
|
Okay. Just submit for now.
|
|
|
|
4527
|
|
02:44:26,0 --> 02:44:33,500
|
|
So now if you look at our email report we just have a simple report here in clear text.
|
|
|
|
4529
|
|
02:44:33,500 --> 02:44:36,500
|
|
We're going to see an example what you can do with this. So this is all in markdown
|
|
|
|
4531
|
|
02:44:36,500 --> 02:44:41,500
|
|
so you could go into edit mode and pretty it up, add additional information there.
|
|
|
|
4535
|
|
02:44:41,500 --> 02:44:46,0
|
|
We're not going to do that now because we're going to just look at an example that already has that
|
|
|
|
4538
|
|
02:44:46,0 --> 02:44:51,0
|
|
but before we do that let's get back to our event and let's assume that we're done this entire process.
|
|
|
|
4541
|
|
02:44:51,0 --> 02:44:55,500
|
|
We have our report, we have our event we have contextualized all our data
|
|
|
|
4542
|
|
02:44:55,500 --> 02:44:57,500
|
|
and let's publish it now to the community.
|
|
|
|
4546
|
|
02:44:57,500 --> 02:45:04,500
|
|
So when it comes to publishing we have different ways of achieving that in MISP.
|
|
|
|
4549
|
|
02:45:04,500 --> 02:45:07,500
|
|
By default, when we create an event like this, at this stage
|
|
|
|
4550
|
|
02:45:07,500 --> 02:45:11,500
|
|
we have all the data contained that we want to share out and that we want to use
|
|
|
|
4553
|
|
02:45:11,500 --> 02:45:18,500
|
|
however MISP considers this to be non-final, it is not to be used by automation tools connected to MISP,
|
|
|
|
4557
|
|
02:45:18,500 --> 02:45:24,500
|
|
it is not going to be synchronized out to other instances and so on.
|
|
|
|
4560
|
|
02:45:25,500 --> 02:45:31,500
|
|
And what we can do now is first of all we need to decide how we shared it out
|
|
|
|
4562
|
|
02:45:31,500 --> 02:45:35,500
|
|
it is the organization only for now so even if we were to publish it
|
|
|
|
4564
|
|
02:45:35,500 --> 02:45:40,500
|
|
would still only be pushed to our own tools that connect to our MISP
|
|
|
|
4565
|
|
02:45:40,500 --> 02:45:45,500
|
|
but it would not be made visible to other organizations but we want to change this, in this case.
|
|
|
|
4569
|
|
02:45:45,500 --> 02:45:51,500
|
|
However, let's assume that we are an organization that does not wish to reveal
|
|
|
|
4572
|
|
02:45:51,500 --> 02:45:58,500
|
|
that we were involved in this entire incident. We just want to entrust the third party with doing it.
|
|
|
|
4575
|
|
02:45:58,500 --> 02:46:02,500
|
|
So as you see there, where Alex is hovering. We basically have several options here.
|
|
|
|
4578
|
|
02:46:02,500 --> 02:46:07,0
|
|
We can either publish the event which means we initiate the entire exchange with other instances
|
|
|
|
4580
|
|
02:46:07,0 --> 02:46:12,500
|
|
if the distribution allows it. It will alert everyone that we have published this
|
|
|
|
4584
|
|
02:46:12,500 --> 02:46:17,0
|
|
or alternatively we can delegate the publishing to third party and stay anonymous ourselves
|
|
|
|
4586
|
|
02:46:17,0 --> 02:46:22,0
|
|
So let's do that option for now. So what we're doing now is
|
|
|
|
4590
|
|
02:46:22,0 --> 02:46:25,500
|
|
we're entrusting a third party to take over this event for us
|
|
|
|
4591
|
|
02:46:25,500 --> 02:46:29,500
|
|
so let's say that we would entrust, say for example CIRCL, to take over this event
|
|
|
|
4593
|
|
02:46:29,500 --> 02:46:35,0
|
|
and we tell CIRCL that we want to share this event, to be shared with the entire community.
|
|
|
|
4596
|
|
02:46:35,0 --> 02:46:37,500
|
|
so we've collected..
|
|
|
|
4597
|
|
02:46:45,0 --> 02:46:50,500
|
|
Yeah and you can see "This community only" for example or a sharing group whatever you prefer.
|
|
|
|
4600
|
|
02:46:50,500 --> 02:46:55,0
|
|
Okay, so this is again a suggestion to the other organization saying
|
|
|
|
4602
|
|
02:46:55,0 --> 02:46:59,500
|
|
okay, we want you to share this out and we want you to share this to this community.
|
|
|
|
4605
|
|
02:46:59,500 --> 02:47:04,0
|
|
Once we click "Yes", even though the event was your organizationa and only visible to us.
|
|
|
|
4607
|
|
02:47:04,0 --> 02:47:08,500
|
|
It now becomes visible to two organizations, ourselves and the other organization
|
|
|
|
4608
|
|
02:47:08,500 --> 02:47:12,500
|
|
that we entrust in this case CIRCL. So CIRCL would get an email saying
|
|
|
|
4610
|
|
02:47:12,500 --> 02:47:17,500
|
|
Okay, there's this delegation request someone wants you to take over their event
|
|
|
|
4613
|
|
02:47:17,500 --> 02:47:19,500
|
|
are you willing to take it over and publish it under your name.
|
|
|
|
4616
|
|
02:47:19,500 --> 02:47:23,0
|
|
This will look something like this with slightly different text we're cheating here now
|
|
|
|
4619
|
|
02:47:23,0 --> 02:47:28,500
|
|
since we're doing a training, we're site administrators so we see both sides of the story,
|
|
|
|
4622
|
|
02:47:28,500 --> 02:47:33,500
|
|
so we can either accept or discard this request. Keep in mind if you accept such a request,
|
|
|
|
4624
|
|
02:47:33,500 --> 02:47:37,500
|
|
the event becomes your event a copy of it is created under your name
|
|
|
|
4628
|
|
02:47:37,500 --> 02:47:42,500
|
|
and basically you are taking responsibility for the event from now on,
|
|
|
|
4629
|
|
02:47:42,500 --> 02:47:45,500
|
|
so also make sure that you're not pushing junk under your name.
|
|
|
|
4630
|
|
02:47:45,500 --> 02:47:48,500
|
|
So in this case let's just discard it
|
|
|
|
4631
|
|
02:47:48,500 --> 02:47:52,500
|
|
but we could have accepted it and then it would have become our event.
|
|
|
|
4634
|
|
02:47:52,500 --> 02:47:56,500
|
|
Okay. Let's go back to the event.
|
|
|
|
4635
|
|
02:48:00,0 --> 02:48:04,0
|
|
Okay, so now the other alternative is if you want to publish it under our name,
|
|
|
|
4637
|
|
02:48:04,0 --> 02:48:08,500
|
|
what you would need to do is you would need to raise the distribution level first
|
|
|
|
4640
|
|
02:48:08,500 --> 02:48:12,0
|
|
if you wanted to involve any other parties
|
|
|
|
4642
|
|
02:48:12,0 --> 02:48:15,500
|
|
So we need to edit the event in that case and raise the distribution level
|
|
|
|
4645
|
|
02:48:15,500 --> 02:48:20,500
|
|
to say "This Community" or "Connected Communities". Let's go with "Connected Communities".
|
|
|
|
4647
|
|
02:48:20,500 --> 02:48:24,500
|
|
connected communities means anyone that has access to my MISP instance
|
|
|
|
4648
|
|
02:48:24,500 --> 02:48:29,500
|
|
and all the directly interconnected instances including all their members as well.
|
|
|
|
4652
|
|
02:48:29,500 --> 02:48:34,500
|
|
So in the case, for example, of us publishing something like this in the FIRST instance
|
|
|
|
4654
|
|
02:48:34,500 --> 02:48:37,0
|
|
we as CIRCL have our instance connected to it
|
|
|
|
4655
|
|
02:48:37,0 --> 02:48:42,0
|
|
so all the members of the CIRCL instance will automatically also be included in the exchange.
|
|
|
|
4658
|
|
02:48:42,0 --> 02:48:45,500
|
|
Here we see a graph of that so we see the event would
|
|
|
|
4659
|
|
02:48:45,500 --> 02:48:50,0
|
|
be also visible to all the directly connected instances which we only have one of
|
|
|
|
4664
|
|
02:48:50,0 --> 02:48:57,0
|
|
which is a loopback connection to "iglocska.eu" so not that interesting
|
|
|
|
4666
|
|
02:48:57,0 --> 02:49:00,500
|
|
and to everyone that has access to this current instance
|
|
|
|
4668
|
|
02:49:00,500 --> 02:49:07,0
|
|
Okay. Once we're done we can click publish and then the event gets synchronized.
|
|
|
|
4671
|
|
02:49:08,0 --> 02:49:14,500
|
|
So what happens at this stage is first of all the event will jump over to directly connected instances.
|
|
|
|
4674
|
|
02:49:14,500 --> 02:49:19,500
|
|
MISP will send out a bunch of emails to everyone that subscribes to publish alerts
|
|
|
|
4675
|
|
02:49:19,500 --> 02:49:22,500
|
|
that there is a new event with all the data contained within.
|
|
|
|
4678
|
|
02:49:22,500 --> 02:49:30,500
|
|
it will push the event down various local channels to other tools using ZeroMQ, Kafka and so on and syslog.
|
|
|
|
4681
|
|
02:49:30,500 --> 02:49:36,200
|
|
So if you have any tools that are subscribed to these published feeds
|
|
|
|
4684
|
|
02:49:36,200 --> 02:49:41,500
|
|
and they will ingest the data and it will also make it available to the API
|
|
|
|
4686
|
|
02:49:41,500 --> 02:49:44,500
|
|
and to make it available to all the integration tools out there.
|
|
|
|
4689
|
|
02:49:44,500 --> 02:49:52,500
|
|
so if you have your SIEM connected to MISP, it will now be able to fetch the data contained in this event
|
|
|
|
4691
|
|
02:49:52,500 --> 02:50:00,0
|
|
So this is basically the publishing process however if at this point we noticed that
|
|
|
|
4696
|
|
02:50:00,0 --> 02:50:06,500
|
|
okay we've now shared this event out but we've actually made a typo in the title we wanted to include
|
|
|
|
4699
|
|
02:50:06,500 --> 02:50:17,500
|
|
I don't know, a trailing period at the end of the sentence {inaudible} something like that.
|
|
|
|
4702
|
|
02:50:17,500 --> 02:50:23,500
|
|
in the title and we edit the event. wWat happens now is, there is a modification to the event
|
|
|
|
4703
|
|
02:50:23,500 --> 02:50:29,500
|
|
so even though it was published, it becomes unpublished again and it needs to be to be republished.
|
|
|
|
4707
|
|
02:50:29,500 --> 02:50:33,500
|
|
now the reason why we do this is whenever there is a change
|
|
|
|
4708
|
|
02:50:33,500 --> 02:50:36,500
|
|
we need to synchronize it out to the other instances out there
|
|
|
|
4710
|
|
02:50:36,500 --> 02:50:40,0
|
|
and if you have a publishing process in place
|
|
|
|
4711
|
|
02:50:40,0 --> 02:50:44,500
|
|
where so only certain users have access to publishing rights for example
|
|
|
|
4714
|
|
02:50:44,500 --> 02:50:47,500
|
|
then anytime your organization is pushing out information
|
|
|
|
4715
|
|
02:50:47,500 --> 02:50:52,500
|
|
it can go through the irregular vetting process so any change will unset the publishing of the event
|
|
|
|
4719
|
|
02:50:52,500 --> 02:50:55,500
|
|
now in this case this is a very small change that we've made
|
|
|
|
4720
|
|
02:50:55,500 --> 02:50:58,500
|
|
so we don't want to actually send out emails to all the other users.
|
|
|
|
4722
|
|
02:50:58,500 --> 02:51:02,500
|
|
We don't want to spam them with data that is pretty irrelevant for them
|
|
|
|
4723
|
|
02:51:02,500 --> 02:51:08,0
|
|
so we can do the publishing again but this time using the "Publish (no email) option.
|
|
|
|
4727
|
|
02:51:09,0 --> 02:51:11,500
|
|
So it will also synchronize the data
|
|
|
|
4728
|
|
02:51:11,500 --> 02:51:15,500
|
|
it will again make it available to all different means of ingesting the data
|
|
|
|
4730
|
|
02:51:15,500 --> 02:51:18,500
|
|
but it will not spam our users with emails.
|
|
|
|
4732
|
|
02:51:18,500 --> 02:51:24,500
|
|
Okay so that's basically it for the publishing and perhaps one thing that is interesting
|
|
|
|
4735
|
|
02:51:24,500 --> 02:51:26,500
|
|
and that we didn't talk much about is
|
|
|
|
4736
|
|
02:51:26,500 --> 02:51:31,500
|
|
we have now raised the distribution level of this event to "Connected Communities".
|
|
|
|
4740
|
|
02:51:31,500 --> 02:51:36,500
|
|
So the event is synchronized out but we actually had an attribute if you look further down
|
|
|
|
4743
|
|
02:51:36,500 --> 02:51:41,500
|
|
that's had a different distribution level. So that one is actually going to be removed
|
|
|
|
4745
|
|
02:51:41,500 --> 02:51:42,500
|
|
from the synchronized button.
|
|
|
|
4747
|
|
02:51:42,500 --> 02:51:51,0
|
|
So we had one that the impersonated person's email address that was set to organization only.
|
|
|
|
4750
|
|
02:51:51,0 --> 02:51:54,500
|
|
So whenever we're talking about synchronization that thing will,
|
|
|
|
4753
|
|
02:51:54,500 --> 02:51:57,500
|
|
in this case, not synchronize out. So that will be redacted from the event.
|
|
|
|
4755
|
|
02:51:59,0 --> 02:52:04,0
|
|
Okay something else that we can do at this point once we have created our event is
|
|
|
|
4757
|
|
02:52:04,0 --> 02:52:08,500
|
|
we can also extract it in different formats, so if you click on "Download as..." on the left side.
|
|
|
|
4760
|
|
02:52:09,40 --> 02:52:13,0
|
|
You will see that we can basically convert this automatically to a bunch of different formats
|
|
|
|
4762
|
|
02:52:12,79 --> 02:52:17,500
|
|
and extract it in those formats directly. This is also what we would be accessing by the API
|
|
|
|
4765
|
|
02:52:16,559 --> 02:52:22,500
|
|
if you were to search for this event. We can also mark whatever response format we want.
|
|
|
|
4768
|
|
02:52:23,520 --> 02:52:27,500
|
|
just very briefly we won't go very deeply into this. These formats are coming partially
|
|
|
|
4770
|
|
02:52:26,559 --> 02:52:32,500
|
|
from our predefined hard-coded list of formats that we support in MISP
|
|
|
|
4773
|
|
02:52:32,500 --> 02:52:38,500
|
|
but some of these formats also come from the different export modules that we have
|
|
|
|
4776
|
|
02:52:40,0 --> 02:52:44,500
|
|
So if you want you can either build your own native modules for exporting and converting data
|
|
|
|
4779
|
|
02:52:44,500 --> 02:52:51,500
|
|
or you can build modules that are sitting in another tool called MISP modules,
|
|
|
|
4782
|
|
02:52:51,500 --> 02:52:55,500
|
|
side by side with MISP that will ingest the data and then convert it to other formats.
|
|
|
|
4785
|
|
02:52:55,500 --> 02:52:59,500
|
|
So here's a PDF report that was created directly out of the event
|
|
|
|
4786
|
|
02:52:59,500 --> 02:53:05,500
|
|
and that you can just share out directly for the event.
|
|
|
|
4789
|
|
02:53:05,500 --> 02:53:11,500
|
|
Something else that you can do is anything that we do in MISP, so all the process of adding attributes,
|
|
|
|
4792
|
|
02:53:11,500 --> 02:53:16,500
|
|
all the process of viewing data, you can also do that in a machine {inaudible} way
|
|
|
|
4793
|
|
02:53:16,500 --> 02:53:19,500
|
|
by just appending .json at the end of any of the url.
|
|
|
|
4797
|
|
02:53:19,500 --> 02:53:24,500
|
|
So in that case in this event we're going to get the json representation of the event
|
|
|
|
4800
|
|
02:53:24,500 --> 02:53:26,500
|
|
Okay.
|
|
|
|
4801
|
|
02:53:28,0 --> 02:53:32,500
|
|
So that's basically for creating an event.
|
|
|
|
4804
|
|
02:53:32,500 --> 02:53:37,500
|
|
Just maybe one thing that is interesting we have a very good question from Martin {inaudible}.
|
|
|
|
4806
|
|
02:53:37,500 --> 02:53:44,500
|
|
It's a quite complex one but maybe we can already partially answer it.
|
|
|
|
4808
|
|
02:53:44,500 --> 02:53:51,500
|
|
So when you create an event and in this case the creator of the training.
|
|
|
|
4811
|
|
02:53:51,500 --> 02:53:59,500
|
|
People can contribute on that one but if you have an ISAC and you want to distribute back the information and so on,
|
|
|
|
4815
|
|
02:53:59,500 --> 02:54:05,500
|
|
one of the options that you have is to try to create extended events for example out of it.
|
|
|
|
4818
|
|
02:54:05,500 --> 02:54:14,0
|
|
So you can out of an event, you can create a new one which would be for example with additional information
|
|
|
|
4822
|
|
02:54:14,0 --> 02:54:22,0
|
|
like validations, additional things that you want to add. So you have this kind of extend event
|
|
|
|
4825
|
|
02:54:22,0 --> 02:54:27,0
|
|
and you will create automatically a new event based on that.
|
|
|
|
4826
|
|
02:54:27,0 --> 02:54:39,0
|
|
A thing that is interesting there, the thing is you can really create something completely new out of it
|
|
|
|
4832
|
|
02:54:39,0 --> 02:54:46,500
|
|
and then see, so for example, for this case I can say that we did a kind of session with additional information.
|
|
|
|
4836
|
|
02:54:46,500 --> 02:54:51,500
|
|
There the distribution is "Your organization only"
|
|
|
|
4838
|
|
02:54:51,500 --> 02:55:01,500
|
|
and I would add for example a specific attribute which is for example "Targeting data"
|
|
|
|
4841
|
|
02:55:01,500 --> 02:55:08,500
|
|
and I can say "target-user", the son of the prime minister.
|
|
|
|
4843
|
|
02:55:08,500 --> 02:55:13,500
|
|
So it may be information that you really don't want to share with others.
|
|
|
|
4844
|
|
02:55:13,500 --> 02:55:19,500
|
|
So this one is basically a normal event with additional information there
|
|
|
|
4845
|
|
02:55:19,500 --> 02:55:23,500
|
|
and it's only shared within your organization.
|
|
|
|
4850
|
|
02:55:23,500 --> 02:55:29,500
|
|
Nevertheless, if you go to the original event, you have this kind of extended view there
|
|
|
|
4853
|
|
02:55:29,500 --> 02:55:36,500
|
|
and we can have what we call an extended view and not an atomic view
|
|
|
|
4855
|
|
02:55:36,500 --> 02:55:41,500
|
|
and the two information is combined and you can see there
|
|
|
|
4856
|
|
02:55:41,500 --> 02:55:46,500
|
|
that we have one with the information about the son of the prime minister
|
|
|
|
4859
|
|
02:55:46,500 --> 02:55:52,500
|
|
which is the extended event there. So just to answer the question of Martin
|
|
|
|
4861
|
|
02:55:52,500 --> 02:55:59,500
|
|
about the question about adding information on existing event, this is one way of doing it.
|
|
|
|
4865
|
|
02:55:59,500 --> 02:56:07,500
|
|
So using extended event is a way to qualify or extend event with additional information and so on.
|
|
|
|
4868
|
|
02:56:07,500 --> 02:56:12,500
|
|
It's actively used, for example, for when you have two different view of the information
|
|
|
|
4871
|
|
02:56:12,500 --> 02:56:17,500
|
|
because one is distributed and another one is like the private information
|
|
|
|
4872
|
|
02:56:17,500 --> 02:56:20,500
|
|
like the forensic evidence that you cannot share for example,
|
|
|
|
4873
|
|
02:56:20,500 --> 02:56:24,500
|
|
you can create this kind of thing. It's one way of doing it.
|
|
|
|
4877
|
|
02:56:24,500 --> 02:56:28,500
|
|
It's not answering completely the question of Martin but we can even go deeper later on that
|
|
|
|
4878
|
|
02:56:28,500 --> 02:56:33,500
|
|
but it's one way of... because tomorrow we talk about synchronization
|
|
|
|
4883
|
|
02:56:33,500 --> 02:56:39,500
|
|
there are some specific options for ISAC like unpublishing events if we do synchronization and so on
|
|
|
|
4887
|
|
02:56:39,500 --> 02:56:46,500
|
|
that can be used in some some cases for ISAC. There are many options but that's one way of
|
|
|
|
4890
|
|
02:56:46,500 --> 02:56:54,500
|
|
partially solving this kind of issues of not owning the data. It is to extend the information.
|
|
|
|
4894
|
|
02:56:54,500 --> 02:56:58,500
|
|
So I know you have something you want to add on Alexandre.
|
|
|
|
4896
|
|
02:56:58,500 --> 02:57:02,0
|
|
No, no, that makes sense.
|
|
|
|
4898
|
|
02:57:03,0 --> 02:57:08,500
|
|
Again for the collaboration on this one, we can do various things so
|
|
|
|
4899
|
|
02:57:08,500 --> 02:57:13,500
|
|
in the case of, you have a typo for example in the specifications and so on.
|
|
|
|
4901
|
|
02:57:13,500 --> 02:57:19,500
|
|
you can make proposal, another thing with on the interface here you see that
|
|
|
|
4905
|
|
02:57:19,500 --> 02:57:26,500
|
|
you can basically make either an edit or you see that you can make a proposed edit.
|
|
|
|
4907
|
|
02:57:26,500 --> 02:57:31,500
|
|
So what is the use case for that? It's not like for fundamental changes
|
|
|
|
4911
|
|
02:57:31,500 --> 02:57:34,500
|
|
but for I would say minor challenges on a specific report.
|
|
|
|
4912
|
|
02:57:34,500 --> 02:57:40,0
|
|
Imagine that you don't agree on this IP Address, there's a typo
|
|
|
|
4915
|
|
02:57:40,0 --> 02:57:46,500
|
|
and it's not D5 but E5 in the ipv6 address, so you propose the change.
|
|
|
|
4916
|
|
02:57:46,500 --> 02:57:50,500
|
|
in this case i'm playing both roles here but what do I have here,
|
|
|
|
4920
|
|
02:57:50,500 --> 02:57:56,500
|
|
it's basically an attribute with a proposal of the change and I'm playing the both roles
|
|
|
|
4922
|
|
02:57:56,500 --> 02:58:04,500
|
|
contributor roles and the original creator then I can say, okay I accept the change there indeed,
|
|
|
|
4925
|
|
02:58:04,500 --> 02:58:12,500
|
|
this proposal makes sense or basically discard and this is a way to get updates
|
|
|
|
4926
|
|
02:58:12,500 --> 02:58:19,500
|
|
from supportive other members, other organizations and so on.
|
|
|
|
4930
|
|
02:58:19,500 --> 02:58:25,500
|
|
It's one way to to update the information in this case I will discard it because it's not correct.
|
|
|
|
4933
|
|
02:58:25,500 --> 02:58:31,500
|
|
We were talking about contributions, this is another way of contributing is the sighting itself.
|
|
|
|
4936
|
|
02:58:31,500 --> 02:58:37,0
|
|
So for example for this indicator if for example we have an intrusion detection system
|
|
|
|
4937
|
|
02:58:37,0 --> 02:58:40,500
|
|
and we have seen it like three times in a row
|
|
|
|
4939
|
|
02:58:40,500 --> 02:58:49,0
|
|
we can add on the interface, with the API, through the user interface, and so on
|
|
|
|
4943
|
|
02:58:49,0 --> 02:58:59,500
|
|
that you have seen that multiple times and like that you can share this kind of details about the sharing aspect
|
|
|
|
4947
|
|
02:58:59,500 --> 02:59:03,500
|
|
So what we have seen that at this specific amount of times we have the three counts
|
|
|
|
4948
|
|
02:59:01,200 --> 02:59:09,500
|
|
saying this is a sighting and you have seen it and you can do it per organization
|
|
|
|
4949
|
|
02:59:02,799 --> 02:59:14,500
|
|
or it could be even anonymously you get different configuration in the model of sighting in MISP
|
|
|
|
4956
|
|
02:59:15,439 --> 02:59:20,0
|
|
but it's a way to see that an indicator has been seen or not.
|
|
|
|
4957
|
|
02:59:18,159 --> 02:59:26,500
|
|
If one specific {inaudible} for example a false positive you can see the negative one,
|
|
|
|
4961
|
|
02:59:25,600 --> 02:59:33,500
|
|
negative sightings which basically tell others that okay this one is generating a lot of false positives
|
|
|
|
4962
|
|
02:59:33,840 --> 02:59:36,500
|
|
sometimes not every organization agrees on the false positive
|
|
|
|
4965
|
|
02:59:35,840 --> 02:59:40,500
|
|
because they have different views coming from different networks and so on.
|
|
|
|
4968
|
|
02:59:40,799 --> 02:59:51,500
|
|
That's a way to provide feedback, so one is delegations proposals or another way is to basically get sighting.
|
|
|
|
4972
|
|
02:59:57,0 --> 02:59:59,0
|
|
Okay.
|
|
|
|
4973
|
|
03:00:01,0 --> 03:00:04,0
|
|
I'm just trying to go through the questions
|
|
|
|
4974
|
|
03:00:04,0 --> 03:00:06,500
|
|
yeah maybe there are some...
|
|
|
|
4976
|
|
03:00:07,279 --> 03:00:10,500
|
|
Yeah there are some that are repeating so perhaps it's good to call them out
|
|
|
|
4978
|
|
03:00:10,559 --> 03:00:14,500
|
|
So there was a bit of confusion about how to add the email object.
|
|
|
|
4981
|
|
03:00:16,0 --> 03:00:20,0
|
|
So it is a little bit confusing so when you're in an event and you click on add objects,
|
|
|
|
4984
|
|
03:00:20,0 --> 03:00:24,0
|
|
first you need to select the scope from which you choose from
|
|
|
|
4985
|
|
03:00:24,0 --> 03:00:26,0
|
|
So it's going to be climate file and so on.
|
|
|
|
4986
|
|
03:00:26,0 --> 03:00:30,500
|
|
Just click on all objects if you're unsure and then you can search for whatever.
|
|
|
|
4989
|
|
03:00:30,500 --> 03:00:35,500
|
|
So after you click on all objects and you type email, it's going to show email object.
|
|
|
|
4992
|
|
03:00:35,500 --> 03:00:39,500
|
|
Here the first step is more like finding out the category of an object
|
|
|
|
4994
|
|
03:00:39,500 --> 03:00:44,500
|
|
Yeah so some sometimes you just know the category but you don't know what is really available there for you
|
|
|
|
4997
|
|
03:00:44,500 --> 03:00:49,500
|
|
So you want to see okay what sort of objects can I use in network contacts
|
|
|
|
4999
|
|
03:00:49,500 --> 03:00:50,500
|
|
and I would click on network first
|
|
|
|
5000
|
|
03:00:50,500 --> 03:00:54,500
|
|
and then you get a list of of all tangently related objects
|
|
|
|
5002
|
|
03:00:54,500 --> 03:01:01,500
|
|
that will have to do with network connectivity but not necessarily describing the same concept at all
|
|
|
|
5006
|
|
03:01:01,500 --> 03:01:06,500
|
|
but if you don't know which domain you want to pick it from
|
|
|
|
5007
|
|
03:01:06,500 --> 03:01:11,500
|
|
or if you know exactly already what you want and you just want to search by name
|
|
|
|
5010
|
|
03:01:11,500 --> 03:01:14,500
|
|
Just click on all objects first and then you will find what you're looking for
|
|
|
|
5013
|
|
03:01:14,500 --> 03:01:19,500
|
|
by just typing it. So email is easy to find that way.
|
|
|
|
5015
|
|
03:01:19,500 --> 03:01:24,0
|
|
Okay so just type email and that's it.
|
|
|
|
5016
|
|
03:01:24,0 --> 03:01:32,500
|
|
Okay, other questions that were there. Okay perfect.
|
|
|
|
5018
|
|
03:01:33,0 --> 03:01:37,0
|
|
And there there were a few other questions that I answered in the ...
|
|
|
|
5020
|
|
03:01:37,0 --> 03:01:40,500
|
|
Meanwhile, maybe it's a good idea to read some of them out.
|
|
|
|
5021
|
|
03:01:40,500 --> 03:01:45,500
|
|
Yeah, indeed there was a good one about correlation graph and filtering on it.
|
|
|
|
5025
|
|
03:01:45,500 --> 03:01:48,500
|
|
Indeed, we don't have a way to filter the correlation graph
|
|
|
|
5026
|
|
03:01:48,500 --> 03:01:52,500
|
|
but it's something that we've discussed for a while already and we want to do it at one point
|
|
|
|
5030
|
|
03:01:52,500 --> 03:01:54,500
|
|
so that you can add some filter rules in there.
|
|
|
|
5032
|
|
03:01:54,500 --> 03:01:59,00
|
|
Yes, the only way to to do it here is through the api
|
|
|
|
5034
|
|
03:01:59,00 --> 03:02:05,500
|
|
so that means you done creating one and then you have to do a filtering {inaudible priority/proactively}
|
|
|
|
5037
|
|
03:02:05,500 --> 03:02:10,500
|
|
but it needs something there to be added
|
|
|
|
5039
|
|
03:02:10,500 --> 03:02:13,500
|
|
I don't know if you have an issue on that one.
|
|
|
|
5041
|
|
03:02:13,500 --> 03:02:16,500
|
|
Yeah I think we do. Yes, yes, I think we should be good.
|
|
|
|
5042
|
|
03:02:16,500 --> 03:02:23,500
|
|
So maybe you know what sometimes what we do is just to add the one on this one
|
|
|
|
5045
|
|
03:02:23,500 --> 03:02:28,500
|
|
If i can find it back so I guess you can see what kind of issue that we have and so on.
|
|
|
|
5048
|
|
03:02:28,500 --> 03:02:32,0
|
|
A lot of the issue that we have is more like
|
|
|
|
5049
|
|
03:02:32,0 --> 03:02:26,500
|
|
I mean around 25 percent, 30 percent are basically installation problem.
|
|
|
|
5052
|
|
03:02:26,500 --> 03:02:43,500
|
|
That's something that you can discuss maybe tomorrow about recommendation on the system
|
|
|
|
5056
|
|
03:02:43,500 --> 03:02:48,0
|
|
We don't need a lot of requirements but at least you need to have a LAMP system working
|
|
|
|
5059
|
|
03:02:48,0 --> 03:02:51,500
|
|
So MariaDB, linux systems and Redis running.
|
|
|
|
5061
|
|
03:02:51,500 --> 03:02:59,500
|
|
So obviously, for example, an Ubuntu distribution out of the box is working without any problems.
|
|
|
|
5064
|
|
03:02:59,500 --> 03:03:04,500
|
|
Now if you try to install a MISP on the MAC OS, you might run into problems obviously.
|
|
|
|
5067
|
|
03:03:04,500 --> 03:03:11,500
|
|
But what we recommend is we have automatic install script for ubuntu for example
|
|
|
|
5070
|
|
03:03:11,500 --> 03:03:13,500
|
|
and this one works works quite well.
|
|
|
|
5072
|
|
03:03:13,500 --> 03:03:19,0
|
|
I wanted to search the issue for...
|
|
|
|
5073
|
|
03:03:19,0 --> 03:03:21,500
|
|
You can just search the correlation graph, for correlation.
|
|
|
|
5074
|
|
03:03:21,500 --> 03:03:24,500
|
|
Yeah. correlation filtering.
|
|
|
|
5075
|
|
03:03:24,500 --> 03:03:30,500
|
|
Nah, that will be a bit too specific I think. No maybe not. Maybe yes.
|
|
|
|
5078
|
|
03:03:30,500 --> 03:03:32,500
|
|
We're filtering by correlation on {inaudible}.
|
|
|
|
5081
|
|
03:03:32,500 --> 03:03:51,500
|
|
Oh this one maybe. Yes. Yeah, yeah okay, this one, okay. So... One sec.
|
|
|
|
5082
|
|
03:03:51,500 --> 03:04:07,500
|
|
So that's how it works so if you see a component issue that
|
|
|
|
5086
|
|
03:04:07,500 --> 03:04:09,500
|
|
or a feature that is really interesting for you
|
|
|
|
5087
|
|
03:04:09,500 --> 03:04:14,500
|
|
don't hesitate to take an existing issue about specific requests and add some comments there.
|
|
|
|
5090
|
|
03:04:14,500 --> 03:04:20,500
|
|
Like for example, it's really the feature that you want, is it important for you, why and so on
|
|
|
|
5093
|
|
03:04:20,500 --> 03:04:23,500
|
|
and then we use that as a source of of doing a feature request
|
|
|
|
5095
|
|
03:04:23,500 --> 03:04:29,500
|
|
As an example, we do a release of MISP every three weeks usually
|
|
|
|
5098
|
|
03:04:29,500 --> 03:04:35,0
|
|
and there are many new features on each release
|
|
|
|
5100
|
|
03:04:35,0 --> 03:04:43,0
|
|
As an example we had a request like that someone just fixed two days ago about the events...
|
|
|
|
5102
|
|
03:04:43,0 --> 03:04:49,500
|
|
Oh we didn't even show it. Event timeline and then
|
|
|
|
5103
|
|
03:04:49,500 --> 03:04:51,500
|
|
we wanted to have something that is easy to set the number of days
|
|
|
|
5104
|
|
03:04:51,500 --> 03:04:55,500
|
|
and then he added the new feature. So sometimes it makes a lot of sense
|
|
|
|
5105
|
|
03:04:55,500 --> 03:05:00,500
|
|
so don't hesitate to create an issue and and propose a new feature.
|
|
|
|
5113
|
|
03:05:00,500 --> 03:05:08,500
|
|
Which remind me of showing you the event timeline because we didn't really show it.
|
|
|
|
5116
|
|
03:05:08,500 --> 03:05:18,500
|
|
So you see that on this one we have nearly everything on the same time
|
|
|
|
5118
|
|
03:05:18,500 --> 03:05:28,500
|
|
which is basically the time when we create the different object we just set the time for one so...
|
|
|
|
5120
|
|
03:05:28,500 --> 03:05:34,500
|
|
and then I can basically look at this one and this one is like the..
|
|
|
|
5125
|
|
03:05:34,500 --> 03:05:38,500
|
|
Yeah, I don't know why we don't have the expansion on that one.
|
|
|
|
5127
|
|
03:05:38,500 --> 03:05:45,0
|
|
so for example if you have a specific time we can expand it and even change it in the graph
|
|
|
|
5130
|
|
03:05:45,0 --> 03:05:47,500
|
|
so that means if we have for example this email,
|
|
|
|
5134
|
|
03:05:47,500 --> 03:05:54,0
|
|
a thing that we can do is expand it and change when this has been seen
|
|
|
|
5135
|
|
03:05:54,0 --> 03:06:00,0
|
|
and we can even change at which time this specific model has been seen.
|
|
|
|
5138
|
|
03:06:00,0 --> 03:06:10,500
|
|
But that's again a good point to do is to automatically create a first thing last seen on your element.
|
|
|
|
5141
|
|
03:06:10,500 --> 03:06:16,0
|
|
Because every time you do that you will get an automatic timeline and actually a quick
|
|
|
|
5142
|
|
03:06:16,0 --> 03:06:19,500
|
|
I would say quick win when you do analysis.
|
|
|
|
5146
|
|
03:06:23,0 --> 03:06:28,500
|
|
So if there are no more questions about event creation perhaps one of the things we can do is show the searching.
|
|
|
|
5149
|
|
03:06:28,500 --> 03:06:33,0
|
|
How to search for stuff in your MISP.
|
|
|
|
5150
|
|
03:06:36,0 --> 03:06:40,0
|
|
okay so this is something that we're going to show very briefly now
|
|
|
|
5152
|
|
03:06:40,0 --> 03:06:42,500
|
|
and we're going to go in a bit more detail into this tomorrow
|
|
|
|
5154
|
|
03:06:42,500 --> 03:06:47,500
|
|
when we're also going to look at the api but generally whenever you're searching in MISP
|
|
|
|
5157
|
|
03:06:47,500 --> 03:06:52,500
|
|
the main question you need to ask yourself is what scope am I searching on?
|
|
|
|
5159
|
|
03:06:52,500 --> 03:06:56,500
|
|
Am i searching for individual attributes or am I searching for events?
|
|
|
|
5160
|
|
03:06:56,500 --> 03:07:01,500
|
|
The search filters very often overlapping or are almost the same
|
|
|
|
5164
|
|
03:07:01,500 --> 03:07:03.500
|
|
but one of the things you need to keep in mind is for example
|
|
|
|
5165
|
|
03:07:03.500 --> 03:07:08,500
|
|
if i'm searching for bitcoin addresses in my MISP instance, bitcoin wallets.
|
|
|
|
5169
|
|
03:07:08,500 --> 03:07:14,500
|
|
Am I searching for any event that contains at least one bitcoin address
|
|
|
|
5171
|
|
03:07:14,500 --> 03:07:18,500
|
|
or am I searching for just the bitcoin addresses themselves?
|
|
|
|
5173
|
|
03:07:18,500 --> 03:07:21,0
|
|
So this is when we decide between different scopes
|
|
|
|
5174
|
|
03:07:21,0 --> 03:07:26,500
|
|
so generally attribute scope will only give you the individual attributes that match the criteria
|
|
|
|
5178
|
|
03:07:26,500 --> 03:07:31,500
|
|
and the event scope will give you everything that contains at least one matching value.
|
|
|
|
5180
|
|
03:07:31,500 --> 03:07:39,0
|
|
So here what Alex did, he just searched using the attribute search for all the bitcoin addresses in the instance
|
|
|
|
5184
|
|
03:07:39,0 --> 03:07:41,500
|
|
and we see we get a bunch of them from different sources,
|
|
|
|
5186
|
|
03:07:41,500 --> 03:07:47,500
|
|
we see which events they're from which organization has created that information and so on and so forth
|
|
|
|
5190
|
|
03:07:47,500 --> 03:07:54,500
|
|
If we're happy with the search results and we've set up all our features and we're getting exactly what we were looking for
|
|
|
|
5192
|
|
03:07:54,500 --> 03:07:57,500
|
|
maybe even several pages of it like here.
|
|
|
|
5195
|
|
03:07:57,500 --> 03:08:00,500
|
|
We can download the results in any of these supported formats
|
|
|
|
5196
|
|
03:08:00,500 --> 03:08:03,0
|
|
so we could say okay now we have all these bitcoin addresses out there
|
|
|
|
5197
|
|
03:08:03,0 --> 03:08:07,500
|
|
generate the csv out of it and it will generate a massive csv
|
|
|
|
5200
|
|
03:08:07,500 --> 03:08:11,500
|
|
with all the attribute information for each of these.
|
|
|
|
5203
|
|
03:08:13,0 --> 03:08:17,500
|
|
I hope you're not running my time instance out of memory.
|
|
|
|
5205
|
|
03:08:19,0 --> 03:08:20,500
|
|
There it is.
|
|
|
|
5207
|
|
03:08:20,500 --> 03:08:28,500
|
|
So if you open it. Just to see the results quickly. There we go.
|
|
|
|
5209
|
|
03:08:28,500 --> 03:08:35,500
|
|
So in this case, we now downloaded our search results as csv.
|
|
|
|
5212
|
|
03:08:35,500 --> 03:08:38,500
|
|
Now keep in mind whenever you're dealing with integration of MISP
|
|
|
|
5213
|
|
03:08:38,500 --> 03:08:42,500
|
|
with other tools or exports keep in mind that certain formats don't really cater
|
|
|
|
5216
|
|
03:08:42,500 --> 03:08:44,0
|
|
to exporting certain types of data.
|
|
|
|
5218
|
|
03:08:44,0 --> 03:08:50,500
|
|
So if you're searching for ransomware payout wallets.
|
|
|
|
5220
|
|
03:08:50,500 --> 03:08:55,500
|
|
you could, for example, specify as a tag, all the different ransomware related tags that you have
|
|
|
|
5224
|
|
03:08:55,500 --> 03:09:01,0
|
|
and as a type select BTC like what Alex has done here and export the information.
|
|
|
|
5226
|
|
03:09:01,0 --> 03:09:03,500
|
|
Now when you're deciding what format to download in,
|
|
|
|
5228
|
|
03:09:03,500 --> 03:09:08,500
|
|
again, some don't make any sense so don't download bitcoin addresses in STIX format
|
|
|
|
5229
|
|
03:09:08,500 --> 03:09:12,500
|
|
because STIX doesn't have a way to express bitcoin addresses for example.
|
|
|
|
5233
|
|
03:09:12,500 --> 03:09:17,0
|
|
So just make sure that you also take that into consideration when exporting data
|
|
|
|
5235
|
|
03:09:17,0 --> 03:09:18,500
|
|
so that it's not {inaudible}.
|
|
|
|
5236
|
|
03:09:18,500 --> 03:09:24,500
|
|
Besides that we can do the same on the event level, we can also do searches on the event level.
|
|
|
|
5239
|
|
03:09:24,500 --> 03:09:28,500
|
|
If we go back to our event index, we have a little magnifying glass icon
|
|
|
|
5240
|
|
03:09:28,500 --> 03:09:34,500
|
|
where you can add additional filter options to the index and filter the database on that.
|
|
|
|
5245
|
|
03:09:34,500 --> 03:09:39,500
|
|
So let's just do "CIRCL", we're going to just filter on events coming from CIRCL
|
|
|
|
5248
|
|
03:09:39,500 --> 03:09:42,500
|
|
and we can also add, for example, events that are not published.
|
|
|
|
5250
|
|
03:09:42,500 --> 03:09:46,500
|
|
If you wanted to do some final checks on whether...
|
|
|
|
5251
|
|
03:09:46,500 --> 03:09:49,500
|
|
We need to add the organization again.
|
|
|
|
5253
|
|
03:09:49,500 --> 03:09:52,500
|
|
whether we have any events that need to be vetted.
|
|
|
|
5254
|
|
03:09:52,500 --> 03:09:56,500
|
|
For example for our own organization, then we could use this filter for it.
|
|
|
|
5257
|
|
03:09:56,500 --> 03:10:02,0
|
|
On the event index, all of these search filters that you apply generate a specific url
|
|
|
|
5259
|
|
03:10:02,0 --> 03:10:06,500
|
|
and you can bookmark it, so if you have recurring queries that you want to monitor
|
|
|
|
5263
|
|
03:10:06,500 --> 03:10:10,0
|
|
then you can just bookmark the url and you can go back to it later on
|
|
|
|
5265
|
|
03:10:10,0 --> 03:10:13,500
|
|
and see if there is anything that popped up that matches your search criteria.
|
|
|
|
5267
|
|
03:10:14,0 --> 03:10:21,0
|
|
now generally like I think 90% of our searches do not actually happen via the UI
|
|
|
|
5270
|
|
03:10:21,0 --> 03:10:25,500
|
|
they happen via the API, so very often you have tools that you search through
|
|
|
|
5272
|
|
03:10:25,500 --> 03:10:30,500
|
|
So if you have a tool that acts as a front-end for your MISP for certain searches that works as well.
|
|
|
|
5276
|
|
03:10:32,0 --> 03:10:36,500
|
|
We're going to talk more about those type of searches and how you integrate with other tools tomorrow more
|
|
|
|
5279
|
|
03:10:36,500 --> 03:10:39,0
|
|
When we go into the api
|
|
|
|
5280
|
|
03:10:39,0 --> 03:10:42,500
|
|
There is a question about soft delete attribute search
|
|
|
|
5282
|
|
03:10:42,500 --> 03:10:44,0
|
|
I just lost the Q&A page.
|
|
|
|
5283
|
|
03:10:44,0 --> 03:10:49,500
|
|
So Martin asks "is there a way to do a global search for soft delete attributes?"
|
|
|
|
5285
|
|
03:10:49,500 --> 03:10:54,500
|
|
Yes, sorry, where is it? For soft delete attributes? Yes there is.
|
|
|
|
5288
|
|
03:10:54,500 --> 03:11:01,0
|
|
So not via the UI but via the API which you can also access via the UI by the way.
|
|
|
|
5290
|
|
03:11:01,0 --> 03:11:04,500
|
|
We have a tool. We have a built-in tool. We can even show this example there.
|
|
|
|
5291
|
|
03:11:04,500 --> 03:11:07,500
|
|
we didn't show the delete
|
|
|
|
5294
|
|
03:11:07,500 --> 03:11:08,500
|
|
Haha, that's a good point.
|
|
|
|
5294
|
|
03:11:08,500 --> 03:11:14,500
|
|
Let's start with the question first and then we go to the delete
|
|
|
|
S296
|
|
03:11:14,500 --> 03:11:20,500
|
|
so we have this built-in tool called the "REST client" that allows us to run searches directly from the interface.
|
|
|
|
5299
|
|
03:11:20,500 --> 03:11:25,500
|
|
So generally indeed we have a soft delete mechanism in MISP
|
|
|
|
5300
|
|
03:11:25,500 --> 03:11:31,500
|
|
that allows you to to not fully remove an attribute but mark it for deletion.
|
|
|
|
5304
|
|
03:11:32,238 --> 03:11:36,500
|
|
The reason why we do this in general is whenever we're synchronizing information
|
|
|
|
5306
|
|
03:11:36,159 --> 03:11:38,799
|
|
and we delete an attribute we want to inform all the other instances
|
|
|
|
5307
|
|
03:11:37,439 --> 03:11:41,500
|
|
that an attribute needs to be removed, it is revoked.
|
|
|
|
5310
|
|
03:11:42,159 --> 03:11:47,500
|
|
So this is why we do the soft delete where we hide it from the interface, we hide it from the exports
|
|
|
|
5313
|
|
03:11:48,478 --> 03:11:53,500
|
|
but we still keep the data and we inform the other instances that they need to also mark it for deletion.
|
|
|
|
5316
|
|
03:11:54,0 --> 03:11:59,500
|
|
Now if the question is how do we do a global search for all the soft deleted attributes.
|
|
|
|
5318
|
|
03:11:58,799 --> 03:12:04,500
|
|
So first of all what we need to do using our little REST search tool is
|
|
|
|
5321
|
|
03:12:04,478 --> 03:12:09,500
|
|
by the way we have the Modern APIs here, so to create a new API unless you know yours by heart
|
|
|
|
5324
|
|
03:12:12,0 --> 03:12:22,500
|
|
so alex because... So just quickly, so in the meanwhile what Alex is doing now is
|
|
|
|
5327
|
|
03:12:20,478 --> 03:12:28,500
|
|
he's going to generate a new api key for himself so that we can actually test the api queries.
|
|
|
|
5331
|
|
03:12:28,500 --> 03:12:31,500
|
|
Oh that won't work.
|
|
|
|
5332
|
|
03:12:31,500 --> 03:12:37,500
|
|
Yeah you can add another key from here as well, this will work.
|
|
|
|
5333
|
|
03:12:37,500 --> 03:12:39,500
|
|
Yeah that works.
|
|
|
|
5335
|
|
03:12:59,0 --> 03:13:02,500
|
|
Global action, my profile, by the way if you want to find your profile.
|
|
|
|
5337
|
|
03:13:17,0 --> 03:13:19,500
|
|
Okay, so now we have our api key.
|
|
|
|
5338
|
|
03:13:19,500 --> 03:13:23,500
|
|
Now we go to REST client we just paste it in there now in the authorization field.
|
|
|
|
5341
|
|
03:13:27,0 --> 03:13:30,0
|
|
Here we go and now what we're going to do is we're going to run a search
|
|
|
|
5343
|
|
03:13:30,0 --> 03:13:34,500
|
|
for all soft delete attributes so we're going to search for attribute restSearch.
|
|
|
|
5345
|
|
03:13:34,500 --> 03:13:38,500
|
|
So that is a scope that allows us to search on the attribute level.
|
|
|
|
5347
|
|
03:13:38,500 --> 03:13:42,500
|
|
we'll see more of this tomorrow, just a small example.
|
|
|
|
5349
|
|
03:13:42,500 --> 03:13:47,0
|
|
For return format, let's pick something like JSON
|
|
|
|
5350
|
|
03:13:54,0 --> 03:14:00,0
|
|
and perhaps set a page under limit or take one limit 100 or something like that
|
|
|
|
5354
|
|
03:14:01,120 --> 03:14:03,500
|
|
I don't know how much was deleted here but it might be a lot
|
|
|
|
5356
|
|
03:14:04,639 --> 03:14:07,500
|
|
and then just add another key deleted, there we go
|
|
|
|
5358
|
|
03:14:07,500 --> 03:14:16,0
|
|
and then deleted set to 1
|
|
|
|
5359
|
|
03:14:16,0 --> 03:14:19,0
|
|
and we don't need anything else
|
|
|
|
5360
|
|
03:14:19,0 --> 03:14:26,500
|
|
and this will return the first 100 hits from the instance of attributes that are deleted.
|
|
|
|
5363
|
|
03:14:30,0 --> 03:14:35,0
|
|
There we go And now if you wanted to paginate through all these attributes
|
|
|
|
5364
|
|
03:14:33,600 --> 03:14:37,500
|
|
you would have to just raise the page number.
|
|
|
|
5367
|
|
03:14:37,500 --> 03:14:40,500
|
|
Go back and and get page 2, page 3, page 4, and so on
|
|
|
|
5369
|
|
03:14:40,500 --> 03:14:44,500
|
|
or if we have enough memory certainly my training instance definitely doesn't
|
|
|
|
5371
|
|
03:14:44,500 --> 03:14:47,500
|
|
then we could just say give us everything in one shot.
|
|
|
|
5373
|
|
03:14:49,0 --> 03:14:53,500
|
|
Okay so I hope that answers your question Martin.
|
|
|
|
5375
|
|
03:14:53,500 --> 03:14:58,500
|
|
There is also a question, is there an official MISP docker image?
|
|
|
|
5377
|
|
03:14:58,500 --> 03:15:04,500
|
|
There are actually several, they're not maintained by us but by contributors
|
|
|
|
5380
|
|
03:15:04,500 --> 03:15:08,500
|
|
that are very active and working closely with us.
|
|
|
|
5382
|
|
03:15:08,500 --> 03:15:12,500
|
|
So I've pasted one example in the zoom group chat.
|
|
|
|
5384
|
|
03:15:12,500 --> 03:15:18,500
|
|
I don't know if maybe it's not visible to everyone. I can just drop it as an answer here.
|
|
|
|
5387
|
|
03:15:18,500 --> 03:15:20,500
|
|
Yeah, it's better.
|
|
|
|
5388
|
|
03:15:20,500 --> 03:15:25,500
|
|
So this one is done by coolacid, so why are there are so many docker MISP?
|
|
|
|
5390
|
|
03:15:25,500 --> 03:15:34,0
|
|
That's I think the specialty of docker, not everyone agrees on a model with docker
|
|
|
|
5392
|
|
03:15:34,0 --> 03:15:38,0
|
|
so there are at least as far as I know four or five different dockers
|
|
|
|
5394
|
|
03:15:38,0 --> 03:15:43,500
|
|
there's one managed by DCSO, one by CoolAcid, one by Xavier Mertens and
|
|
|
|
5397
|
|
03:15:43,500 --> 03:15:47,00
|
|
one by HarvardSecurity and I'm sure I'm missing some.
|
|
|
|
5399
|
|
03:15:47,00 --> 03:15:55,500
|
|
So the thing is for the docker images it's depending on I would say your taste
|
|
|
|
5402
|
|
03:15:55,500 --> 03:15:59,500
|
|
so have a look at what the different contributors are doing
|
|
|
|
5404
|
|
03:15:59,500 --> 03:16:05,500
|
|
and you'll see that you pick the one that is matching what you really want to do with docker.
|
|
|
|
5408
|
|
03:16:05,500 --> 03:16:12,500
|
|
Some are really more separated container wise some are more like one single container with everything
|
|
|
|
5412
|
|
03:16:12,500 --> 03:16:16,500
|
|
Again it's a maker of taste and how you want to operate one
|
|
|
|
5414
|
|
03:16:16,500 --> 03:16:18,500
|
|
we don't maintain one as MISP project
|
|
|
|
5415
|
|
03:16:18,500 --> 03:16:22,00
|
|
but there are some that are under our MISP project {inaudible} position.
|
|
|
|
5418
|
|
03:16:27,0 --> 03:16:32,0
|
|
Someone is asking about API key to invoke cortex analyzer.
|
|
|
|
5420
|
|
03:16:32,0 --> 03:16:39,500
|
|
For the cortex analyzer, it's a separate toolset part of the HIVE project
|
|
|
|
5423
|
|
03:16:39,500 --> 03:16:42,500
|
|
and then you have specific API keys.
|
|
|
|
5424
|
|
03:16:42,500 --> 03:16:48,500
|
|
Cortex extension is like MISP module so it works for the expansion services
|
|
|
|
5426
|
|
03:16:48,500 --> 03:16:53,500
|
|
Be careful, cortex analyzer are not supporting objects and stuff like that
|
|
|
|
5428
|
|
03:16:53,500 --> 03:16:58,500
|
|
which is the case for MISP modules so you might have expansion on the interface
|
|
|
|
5431
|
|
03:16:58,500 --> 03:17:00,500
|
|
but if you want full-blown expansion with relationship and so on
|
|
|
|
5433
|
|
03:17:00,500 --> 03:17:04,500
|
|
then you can use MISP modules. A lot of organizations are mixing both
|
|
|
|
5434
|
|
03:17:04,500 --> 03:17:09,500
|
|
so you can have cortex-enabled and MISP modulus enabled on the same MISP instance
|
|
|
|
5438
|
|
03:17:09,500 --> 03:17:14,500
|
|
But going back to the question if you already have the Cortex API encoded in your MISP
|
|
|
|
5440
|
|
03:17:14,500 --> 03:17:19,0
|
|
and you want to invoke a lookup through the API through MISP
|
|
|
|
5442
|
|
03:17:19,0 --> 03:17:24,500
|
|
then you can use your MISP API to tell your MISP to run a query against Cortex.
|
|
|
|
5445
|
|
03:17:27,0 --> 03:17:33,500
|
|
But with the new api key models usually it's better to have dedicated API key per {inaudible}.
|
|
|
|
5447
|
|
03:17:35,0 --> 03:17:41,500
|
|
Okay, there is something else, is there a way.. we had that already
|
|
|
|
5450
|
|
03:17:44,0 --> 03:17:47,500
|
|
Could you touch on how we could use one event to add multiple attributes
|
|
|
|
5451
|
|
03:17:47,500 --> 03:17:50,500
|
|
and how would correlation work here?
|
|
|
|
5453
|
|
03:17:50,500 --> 03:17:53,500
|
|
Configure event one to fetch all records from a feed
|
|
|
|
5455
|
|
03:17:53,500 --> 03:17:55,0
|
|
Would this work with correlation?
|
|
|
|
5456
|
|
03:17:55,0 --> 03:17:59,500
|
|
Show all instances where any of those attributes match with other events from other organization events
|
|
|
|
5459
|
|
03:17:59,500 --> 03:18:05,500
|
|
Well okay if I understand it correctly, indeed so if you do that
|
|
|
|
5461
|
|
03:18:05,500 --> 03:18:10,0
|
|
you create an event for a phishing feed and you have those attributes in there
|
|
|
|
5464
|
|
03:18:10,0 --> 03:18:15,500
|
|
and you have cached other instances, then within that that feed's event
|
|
|
|
5466
|
|
03:18:15,500 --> 03:18:21,500
|
|
you will see correlations both to other events created locally on your instance by other organizations
|
|
|
|
5470
|
|
03:18:21,500 --> 03:18:27,500
|
|
as well as links to other instances that have the data as long as you have cached those events
|
|
|
|
5474
|
|
03:18:27,500 --> 03:18:31,500
|
|
so we're going to talk more about that tomorrow about the synchronization
|
|
|
|
5475
|
|
03:18:31,500 --> 03:18:34,500
|
|
but when you're interconnecting with another instance you can do it in two ways,
|
|
|
|
5479
|
|
03:18:34,500 --> 03:18:37,500
|
|
one I want to start exchanging data, pushing data, pooling data
|
|
|
|
5481
|
|
03:18:37,500 --> 03:18:41,500
|
|
or two I can just tell my MISP to go crawl that other instance
|
|
|
|
5484
|
|
03:18:41,500 --> 03:18:46,500
|
|
hash all the values that they have and if I ever get the correlation
|
|
|
|
5486
|
|
03:18:46,500 --> 03:18:51,500
|
|
then it flags it for me then it shows me that the instance already knows about this value
|
|
|
|
5488
|
|
03:18:51,500 --> 03:18:57,500
|
|
and I can pivot over to previewing the data. So I hope that answers that.
|
|
|
|
5489
|
|
03:18:57,500 --> 03:19:02,500
|
|
Yeah, and then the correlation of feeds for example if you just enable the caching
|
|
|
|
5493
|
|
03:19:02,500 --> 03:19:07,500
|
|
you just see that it's correlating with specific values without providing the full feed
|
|
|
|
5495
|
|
03:19:07,500 --> 03:19:11,0
|
|
sometimes it's quite handy when you have for example feed that
|
|
|
|
5499
|
|
03:19:11,0 --> 03:19:14,500
|
|
you cannot show the data but you can show the correlation,
|
|
|
|
5500
|
|
03:19:16,0 --> 03:19:18,500
|
|
There's another one, do you recommend using MISP alone
|
|
|
|
5501
|
|
03:19:18,500 --> 03:19:21,500
|
|
or using the Hive MISP Cortex integration
|
|
|
|
5502
|
|
03:19:21,500 --> 03:19:26,500
|
|
I mean generally if you need a case management tool then using the Hive for that is great
|
|
|
|
5506
|
|
03:19:26,500 --> 03:19:34,500
|
|
So it makes absolute sense to use them together and integration is really smoothly done
|
|
|
|
5509
|
|
03:19:34,500 --> 03:19:37,500
|
|
so that means that no matter where you start your process,
|
|
|
|
5510
|
|
03:19:37,500 --> 03:19:39,500
|
|
whether you start by creating an event in MISP
|
|
|
|
5511
|
|
03:19:39,500 --> 03:19:42,500
|
|
or whether you start by creating a case in the Hive
|
|
|
|
5512
|
|
03:19:42,500 --> 03:19:45,500
|
|
you can basically propagate the data to the other tool
|
|
|
|
5513
|
|
03:19:45,500 --> 03:19:50,0
|
|
and work on both tools and data. So yeah, so absolutely
|
|
|
|
5519
|
|
03:19:50,0 --> 03:19:55,0
|
|
Yeah, absolutely it's pretty smooth, just be careful if you use the expansion on MISP
|
|
|
|
5521
|
|
03:19:55,0 --> 03:19:59,0
|
|
and you have MISP modules enabled I would prefer to have MISP modules enabled
|
|
|
|
5523
|
|
03:19:59,0 --> 03:20:05,500
|
|
because you basically have all the features of MISP like relationship, objects and so on
|
|
|
|
5526
|
|
03:20:05,500 --> 03:20:10,500
|
|
with the cortex integration is basically just a layover with the Cortex
|
|
|
|
5528
|
|
03:20:10,500 --> 03:20:12,500
|
|
Yeah but one of the things that you can do is
|
|
|
|
5531
|
|
03:20:12,500 --> 03:20:16,500
|
|
if you start for example from the Hive perspective and you push the data afterwards to misp
|
|
|
|
5533
|
|
03:20:16,500 --> 03:20:21,500
|
|
you can then go through this process like what we've done here with enriching the information
|
|
|
|
5536
|
|
03:20:21,500 --> 03:20:25,500
|
|
creating objects that affect attributes so you can do it as a secondary step
|
|
|
|
5538
|
|
03:20:25,500 --> 03:20:28,500
|
|
before you share it out to community to refine the data in MISP
|
|
|
|
5539
|
|
03:20:28,500 --> 03:20:30,500
|
|
that you've created in the Hive for example
|
|
|
|
5540
|
|
03:20:30,500 --> 03:20:34,500
|
|
and the same thing if you've used cortex to fetch additional information in the Hive
|
|
|
|
5544
|
|
03:20:34,500 --> 03:20:38,500
|
|
you can then take that data and further enrich it with MISP modules once it's in MISP.
|
|
|
|
5547
|
|
03:20:38,500 --> 03:20:43,500
|
|
Yeah this is a good question from Muhamad Junaid about
|
|
|
|
5549
|
|
03:20:43,500 --> 03:20:47,500
|
|
when I try to import the data from STIX to MISP it's called lossy
|
|
|
|
5551
|
|
03:20:47,500 --> 03:20:50,500
|
|
like can you please explain that a bit and this one is interesting
|
|
|
|
5553
|
|
03:20:50,500 --> 03:20:54,0
|
|
because it's... I was saying a long long long discussion
|
|
|
|
5554
|
|
03:20:54,0 --> 03:20:59,500
|
|
and that even influence how MISP evolved and the standard behind MISP
|
|
|
|
5557
|
|
03:20:59,500 --> 03:21:05,500
|
|
so STIX is really focusing on cybersecurity and cyber threat intelligence
|
|
|
|
5558
|
|
03:21:05,500 --> 03:21:11,500
|
|
and the problem is you might have at some point in time
|
|
|
|
5559
|
|
03:21:11,500 --> 03:21:14,500
|
|
data that are basically not defined anywhere
|
|
|
|
5564
|
|
03:21:14,500 --> 03:21:20,500
|
|
so it's more for the export of data so for example if you export in a MISP event
|
|
|
|
5566
|
|
03:21:20,500 --> 03:21:25,0
|
|
and you have for example an object with the person and stuff like that
|
|
|
|
5568
|
|
03:21:25,0 --> 03:21:27,500
|
|
it won't be in the STIX to export for example.
|
|
|
|
5570
|
|
03:21:27,500 --> 03:21:32,500
|
|
So it means that in MISP even if you get all the information
|
|
|
|
5571
|
|
03:21:32,500 --> 03:21:35,500
|
|
but it's bound to the limitation of the standards and the format
|
|
|
|
5574
|
|
03:21:35,500 --> 03:21:38,500
|
|
where you export and it's exactly the same for any format
|
|
|
|
5575
|
|
03:21:38,500 --> 03:21:42,500
|
|
I mean if you export a person in Suricata format
|
|
|
|
5576
|
|
03:21:42,500 --> 03:21:47,500
|
|
obviously you don't have any field or things like that with person and so on
|
|
|
|
5580
|
|
03:21:47,500 --> 03:21:50,500
|
|
so that's why we call it lossy because sometimes when you import data
|
|
|
|
5582
|
|
03:21:50,500 --> 03:21:57,500
|
|
it's bound to a specific set of fields that are supported and so on
|
|
|
|
5584
|
|
03:21:57,500 --> 03:22:00,500
|
|
Another thing that is quite important with STIX,
|
|
|
|
5585
|
|
03:22:00,500 --> 03:22:06,500
|
|
you might have a lot of peculiarities or specialities depending on the vendor
|
|
|
|
5589
|
|
03:22:06,500 --> 03:22:10,500
|
|
some vendors are adding some specific custom objects things like that
|
|
|
|
5591
|
|
03:22:10,500 --> 03:22:13,500
|
|
that are not bound to any existing one
|
|
|
|
5593
|
|
03:22:13,500 --> 03:22:19,500
|
|
so we are importing them as kind of you know generic one but it is basically like lossy again
|
|
|
|
5596
|
|
03:22:19,500 --> 03:22:23,500
|
|
so you have to be careful when you use a specific format
|
|
|
|
5598
|
|
03:22:23,500 --> 03:22:27,500
|
|
to be sure that you properly map an existing different one.
|
|
|
|
5600
|
|
03:22:27,500 --> 03:22:31,200
|
|
So it's more for the export, MISP quite flexible on that
|
|
|
|
5601
|
|
03:22:31,200 --> 03:22:36,500
|
|
so you can basically have any object you like but when we export for example in STIX one
|
|
|
|
5603
|
|
03:22:36,500 --> 03:22:42,00
|
|
we just export what is existing in STIX even if we start we added some custom objects too
|
|
|
|
5607
|
|
03:22:42,00 --> 03:22:49,500
|
|
some which are on to the MISP object but some tools will not recognize obviously the custom object
|
|
|
|
5610
|
|
03:22:49,500 --> 03:22:53,500
|
|
because they are just having a profile for a specific set of known objects.
|
|
|
|
5614
|
|
03:22:53,500 --> 03:22:58,500
|
|
Yeah I think that's exactly the point that maybe is different from
|
|
|
|
5615
|
|
03:22:58,500 --> 03:23:01,500
|
|
when we described the text in those import and export fields.
|
|
|
|
5619
|
|
03:23:01,500 --> 03:23:06,500
|
|
we say lossy but in reality what we do is we do try to capture everything
|
|
|
|
5620
|
|
03:23:06,500 --> 03:23:09,500
|
|
and we do try to map everything but a lot of it will end up in custom objects.
|
|
|
|
5624
|
|
03:23:09,500 --> 03:23:16,500
|
|
Now what Alex mentioned is the problem even if we export bitcoin addresses for example
|
|
|
|
5626
|
|
03:23:16,500 --> 03:23:19,500
|
|
whenever we're pushing in STIX2 format as custom objects
|
|
|
|
5627
|
|
03:23:19,500 --> 03:23:23,500
|
|
no other tool will pick up on it because we're just using custom objects
|
|
|
|
5628
|
|
03:23:23,500 --> 03:23:26,500
|
|
unless the other tool specifically looks for them
|
|
|
|
5629
|
|
03:23:26,500 --> 03:23:30,500
|
|
they will just either store it as is or not know what to do with it.
|
|
|
|
5630
|
|
03:23:30,500 --> 03:23:38,500
|
|
Yeah and that that's why we recommend a feed provider or vendors and so on to actively support the MISP format
|
|
|
|
5637
|
|
03:23:38,500 --> 03:23:42,500
|
|
then they can they can really import a full set of objects
|
|
|
|
5638
|
|
03:23:42,500 --> 03:23:44,500
|
|
and {inauidble, either some already exist in MISP/some are resisting it}.
|
|
|
|
5643
|
|
03:23:44,500 --> 03:23:47,500
|
|
Yeah in some cases however you don't really care about having the full set
|
|
|
|
5645
|
|
03:23:47,500 --> 03:23:50,500
|
|
and that's where for example specialized formats are really cool
|
|
|
|
5647
|
|
03:23:50,500 --> 03:23:56,500
|
|
so whenever we're feeding for example an ids for example we don't care about bitcoin addresses.
|
|
|
|
5649
|
|
03:23:56,500 --> 03:24:03,500
|
|
So in those cases STIX and MISP both are very expressive exchange formats
|
|
|
|
5653
|
|
03:24:03,500 --> 03:24:06,500
|
|
but whenever you're dealing with feeding tools for example
|
|
|
|
5654
|
|
03:24:06,500 --> 03:24:10,500
|
|
you don't care about about losing, 90% even, of the data set
|
|
|
|
5655
|
|
03:24:10,500 --> 03:24:16,500
|
|
as long as you capture those type of data points that your tool can process in the end.
|
|
|
|
5659
|
|
03:24:16,500 --> 03:24:19,500
|
|
So this is why generally what we recommend is
|
|
|
|
5660
|
|
03:24:19,500 --> 03:24:21,500
|
|
if you have the option for example to export data from MISP
|
|
|
|
5663
|
|
03:24:21,500 --> 03:24:24,500
|
|
is for your IDS for your SIEM and so on and you have the option between
|
|
|
|
5665
|
|
03:24:24,500 --> 03:24:28,500
|
|
for example STIX or Snort or Surikata go with Snort or Surikata
|
|
|
|
5666
|
|
03:24:28,500 --> 03:24:34,500
|
|
because those are much more catering to what your tools can actually understand
|
|
|
|
5670
|
|
03:24:34,500 --> 03:24:38,500
|
|
Yeah, for example for Yara the same you prefer to have like a
|
|
|
|
5671
|
|
03:24:38,500 --> 03:24:44,500
|
|
good Yara rule set that you can run into another anti-virus or your endpoint protection device
|
|
|
|
5675
|
|
03:24:44,500 --> 03:24:48,500
|
|
and having a generic one that will not help you to lose the detection.
|
|
|
|
5677
|
|
03:24:52,0 --> 03:24:55,0
|
|
Are there any other questions?
|
|
|
|
5678
|
|
03:24:56,0 --> 03:24:59,500
|
|
You already took that one that is there that is longer.
|
|
|
|
5681
|
|
03:24:59,500 --> 03:25:02,500
|
|
I think we took most of them unless they missed one.
|
|
|
|
5682
|
|
03:25:03,500 --> 03:25:09,500
|
|
Yeah, perhaps we should show the deletions because we we didn't actually show it, indeed.
|
|
|
|
5685
|
|
03:25:09,500 --> 03:25:10,500
|
|
Yeah, exactly.
|
|
|
|
5686
|
|
03:25:13,0 --> 03:25:18,500
|
|
Okay, oh and now we have some more questions but we can take those after.
|
|
|
|
5688
|
|
03:25:18,500 --> 03:25:23,500
|
|
Yeah let's quickly show the deletions so if we go to an event.
|
|
|
|
5691
|
|
03:25:23,500 --> 03:25:25,500
|
|
yeah I'll take a hundred events.
|
|
|
|
5692
|
|
03:25:25,500 --> 03:25:29,500
|
|
So this is a massive gotcha basically in MISP
|
|
|
|
5694
|
|
03:25:29,500 --> 03:25:33,500
|
|
which we have some protective measures in place to avoid this
|
|
|
|
5695
|
|
03:25:33,500 --> 03:25:37,500
|
|
but one of the things that you really need to watch out for is
|
|
|
|
5698
|
|
03:25:37,500 --> 03:25:40,500
|
|
when you when you add data to MISP and you noticed
|
|
|
|
5700
|
|
03:25:40,500 --> 03:25:45,500
|
|
oh crap I should not have added a piece of information that is either confidential information,
|
|
|
|
5702
|
|
03:25:45,500 --> 03:25:48,500
|
|
information about the victim that I shouldn't share and so on.
|
|
|
|
5705
|
|
03:25:48,500 --> 03:25:53,500
|
|
First delete the attribute, that attribute might still be contained in the event
|
|
|
|
5707
|
|
03:25:53,500 --> 03:25:58,500
|
|
in a soft deleted format. You can always toggle and see the deleted attributes within an event
|
|
|
|
5710
|
|
03:25:58,500 --> 03:26:04,500
|
|
So I will create an event from scratch as you can see
|
|
|
|
5712
|
|
03:26:04,500 --> 03:26:10,0
|
|
Okay so before I move forward on that so we have two protective measures in place
|
|
|
|
5714
|
|
03:26:10,0 --> 03:26:14,500
|
|
to avoid accidental information leakage violation.
|
|
|
|
5715
|
|
03:26:14,500 --> 03:26:19,500
|
|
One is basically that by default we do not use the soft delete method for
|
|
|
|
5717
|
|
03:26:19,500 --> 03:26:24,500
|
|
anything that was unpublished at first so we're going to show it as an example
|
|
|
|
5720
|
|
03:26:24,500 --> 03:26:27,500
|
|
so here's some sensitive information, if Alex were to delete this now
|
|
|
|
5723
|
|
03:26:27,500 --> 03:26:29,500
|
|
this attribute, this would get hard deleted,
|
|
|
|
5724
|
|
03:26:29,500 --> 03:26:34,500
|
|
So this will not create a soft deletion, MISP already tells us
|
|
|
|
5725
|
|
03:26:34,500 --> 03:26:37,500
|
|
are you sure you want to hard delete the attribute? So when you read the text
|
|
|
|
5728
|
|
03:26:37,500 --> 03:26:39,500
|
|
you will see the difference there in the wording.
|
|
|
|
5729
|
|
03:26:39,500 --> 03:26:43,500
|
|
The reason for that is the event has not been published yet
|
|
|
|
5730
|
|
03:26:43,500 --> 03:26:45,500
|
|
we know that it has not probably been propagated to other instances.
|
|
|
|
5734
|
|
03:26:45,500 --> 03:26:49,500
|
|
There is absolutely no reason to inform anyone that this has been deleted
|
|
|
|
5736
|
|
03:26:49,500 --> 03:26:52,500
|
|
so we can immediately just hard delete it.
|
|
|
|
5738
|
|
03:26:52,500 --> 03:26:56,0
|
|
So when we do that, it will get hard deleted.
|
|
|
|
5739
|
|
03:26:56,0 --> 03:26:58,500
|
|
However, if the event has already been published
|
|
|
|
5740
|
|
03:26:58,500 --> 03:27:01,500
|
|
this has already been shared out to other instances potentially.
|
|
|
|
5742
|
|
03:27:01,500 --> 03:27:04,0
|
|
So in this case, if we were to delete it, MISP will tell us
|
|
|
|
5743
|
|
03:27:04,0 --> 03:27:07,500
|
|
oh are you sure you want to soft delete this attribute
|
|
|
|
5744
|
|
03:27:07,500 --> 03:27:09,500
|
|
because this is already a published event.
|
|
|
|
5747
|
|
03:27:09,500 --> 03:27:14,0
|
|
Now it looks like our event is empty but if you look at the deleted flag
|
|
|
|
5748
|
|
03:27:14,0 --> 03:27:16,500
|
|
you will see that the sensitive attribute is still there
|
|
|
|
5751
|
|
03:27:16,500 --> 03:27:19,500
|
|
and if I were to publish the event now, this sensitive attribute
|
|
|
|
5753
|
|
03:27:19,500 --> 03:27:23,500
|
|
would get propagated along with the event.
|
|
|
|
5754
|
|
03:27:23,500 --> 03:27:29,500
|
|
If you want to avoid this altogether, there is a way to mangle any attribute that gets self-deleted.
|
|
|
|
5757
|
|
03:27:29,500 --> 03:27:32,500
|
|
What happens in that case is a category will be set to Other
|
|
|
|
5759
|
|
03:27:32,500 --> 03:27:36,500
|
|
type will be set to Other and value will be set to Redacted.
|
|
|
|
5761
|
|
03:27:36,500 --> 03:27:40,500
|
|
This is a server-wide setting so your administrator or if you are the administrator
|
|
|
|
5762
|
|
03:27:40,500 --> 03:27:43,500
|
|
then you yourself can set this setting in the server settings.
|
|
|
|
5765
|
|
03:27:43,500 --> 03:27:48,0
|
|
The downside of that is if you are mangling attributes that you're soft deleting
|
|
|
|
5767
|
|
03:27:48,0 --> 03:27:52,0
|
|
it will still inform the other instances, they will still remove the data
|
|
|
|
5768
|
|
03:27:52,0 --> 03:27:54,500
|
|
soft delete the data because the uid is reserved.
|
|
|
|
5771
|
|
03:27:54,500 --> 03:27:57,500
|
|
However, you cannot recover the attribute anymore.
|
|
|
|
5772
|
|
03:27:57,500 --> 03:28:02,500
|
|
So in this case right now we deleted attribute, Alex could now click on the recover button
|
|
|
|
5776
|
|
03:28:02,500 --> 03:28:07,500
|
|
and the attribute will be recovered as a normal attribute so if you made a mistake you can recover it.
|
|
|
|
5779
|
|
03:28:07,500 --> 03:28:12,500
|
|
So there are two different mindsets, I want to make my data recoverable
|
|
|
|
5781
|
|
03:28:12,500 --> 03:28:15,500
|
|
and that I want to always inform others
|
|
|
|
5783
|
|
03:28:15,500 --> 03:28:19,500
|
|
versus I want to always hard delete data that I delete.
|
|
|
|
5784
|
|
03:28:19,500 --> 03:28:25,500
|
|
Both of them have a setting so just pick and choose whichever makes sense for your community.
|
|
|
|
5787
|
|
03:28:25,500 --> 03:28:31,500
|
|
Whether you prefer secrecy or prefer convenience basically so that's it's basically.
|
|
|
|
5790
|
|
03:28:31,500 --> 03:28:37,0
|
|
-Yeah that's delete for attribute so if we delete an event that's another story.
|
|
-Yeah
|
|
|
|
5792
|
|
03:28:37,0 --> 03:28:42,500
|
|
And this one is interesting because now we have these options where we say
|
|
|
|
5795
|
|
03:28:42,500 --> 03:28:46,500
|
|
I want to delete this event and obviously it will be deleted on your instance.
|
|
|
|
5798
|
|
03:28:46,500 --> 03:28:53,500
|
|
Nevertheless this even has been already synchronized, copy on different MISP instances
|
|
|
|
5802
|
|
03:28:53,500 --> 03:28:56,500
|
|
so that means at the next synchronizations the event should be pulled
|
|
|
|
5805
|
|
03:28:56,500 --> 03:28:59,500
|
|
but to avoid such kind of of issue
|
|
|
|
5806
|
|
03:28:59,500 --> 03:29:04,500
|
|
MISP is automatically generating a block list of all those deleted events
|
|
|
|
5808
|
|
03:29:04,500 --> 03:29:09,500
|
|
so if you are the administrator you can see at the "Blocklist events",
|
|
|
|
5810
|
|
03:29:09,500 --> 03:29:14,500
|
|
you can see the the one that I just deleted. So why we do that?
|
|
|
|
5812
|
|
03:29:14,500 --> 03:29:19,500
|
|
It's very simple. We don't want to re-import the event that has been deleted
|
|
|
|
5814
|
|
03:29:19,500 --> 03:29:21,500
|
|
because locally we don't want this event.
|
|
|
|
5816
|
|
03:29:21,500 --> 03:29:27,500
|
|
So it's a blocklist of all the {inaudible} but there is a catch there.
|
|
|
|
5818
|
|
03:29:27,500 --> 03:29:31,500
|
|
Sometimes we have people, oh i'm doing some tests and so on
|
|
|
|
5820
|
|
03:29:31,500 --> 03:29:33,500
|
|
I'm synchronizing with MISP but I can't seem to get my event back
|
|
|
|
5822
|
|
03:29:33,500 --> 03:29:36,500
|
|
and obviously yes because it's there in this block list.
|
|
|
|
5824
|
|
03:29:36,500 --> 03:29:40,500
|
|
So if you have some tests and you're running some tests, don't forget to look at the block list
|
|
|
|
5826
|
|
03:29:40,500 --> 03:29:46,0
|
|
and maybe you want to just remove the event from the blocklist
|
|
|
|
5827
|
|
03:29:46,0 --> 03:29:48,500
|
|
and then you can synchronize back the event.
|
|
|
|
5830
|
|
03:29:48,500 --> 03:29:52,0
|
|
there's something to keep in mind it's there, it's done automatically
|
|
|
|
5831
|
|
03:29:52,0 --> 03:29:56,500
|
|
but in some cases you want to manage the blocklist so that's something to keep in mind.
|
|
|
|
5835
|
|
03:29:56,500 --> 03:30:05,500
|
|
Yep something else that we perhaps should touch on here is
|
|
|
|
5838
|
|
03:30:05,500 --> 03:30:09,500
|
|
for the event deletions besides just a blocklist part
|
|
|
|
5840
|
|
03:30:09,500 --> 03:30:12,0
|
|
there is one thing that comes up as a question very often is.
|
|
|
|
5841
|
|
03:30:12,0 --> 03:30:14,500
|
|
how do I inform others that an event needs to be removed?
|
|
|
|
5843
|
|
03:30:14,500 --> 03:30:19,500
|
|
We don't have a mechanism in place for that so while we can revoke attributes for events
|
|
|
|
5845
|
|
03:30:19,500 --> 03:30:22,500
|
|
We don't have that and there's a reason for that.
|
|
|
|
5847
|
|
03:30:22,500 --> 03:30:27,500
|
|
In general whenever it comes to events we don't want to give the power
|
|
|
|
5848
|
|
03:30:27,500 --> 03:30:34,500
|
|
to just outright delete events remotely this way so this might change in the future.
|
|
|
|
5853
|
|
03:30:34,500 --> 03:30:39,500
|
|
We're having discussions on that whether we want to enable that or not but currently that's not the case.
|
|
|
|
5855
|
|
03:30:39,500 --> 03:30:45,500
|
|
Yeah and usually we take as an example emails I mean you can remove emails from your personal mailbox
|
|
|
|
5858
|
|
03:30:45,500 --> 03:30:48,500
|
|
but from the remote mailbox if someone already receives the emails
|
|
|
|
5861
|
|
03:30:48,500 --> 03:30:52,500
|
|
you want to have the control over third parties on the mailbox
|
|
|
|
5862
|
|
03:30:52,500 --> 03:30:56,0
|
|
that might be one of the drawback I would say.
|
|
|
|
5864
|
|
03:30:56,0 --> 03:31:01,500
|
|
So there are two new questions one of them is basically can you demonstrate
|
|
|
|
5866
|
|
03:31:01,500 --> 03:31:06,500
|
|
the progressive enrichments of events by the shared communities over time with correlations.
|
|
|
|
5869
|
|
03:31:06,500 --> 03:31:10,500
|
|
This one is tough I mean i'm not sure how we could demonstrate that because
|
|
|
|
5871
|
|
03:31:10,500 --> 03:31:15,500
|
|
we're not dealing with live instances with live data sets and active sharing
|
|
|
|
5875
|
|
03:31:15,500 --> 03:31:21,500
|
|
but perhaps for tomorrow we will prepare an example where we can show it off
|
|
|
|
5877
|
|
03:31:21,500 --> 03:31:28,500
|
|
and choose an event that we can show on one of the operational instances
|
|
|
|
5879
|
|
03:31:28,500 --> 03:31:34,500
|
|
but I can show one on, you know what I can go on just one second
|
|
|
|
5880
|
|
03:31:34,500 --> 03:31:42,500
|
|
I'm going on an instance. So it was.. oh we are flexible
|
|
|
|
5881
|
|
03:31:42,500 --> 03:31:49,500
|
|
So it's not simple to do it no but so it's maybe something interesting there.
|
|
|
|
5888
|
|
03:31:49,500 --> 03:31:56,500
|
|
So I'm connecting an instance where I have more expansion services active and so on.
|
|
|
|
5892
|
|
03:31:56,500 --> 03:32:01,500
|
|
I'll just keep it for "My Organization Only" so i'm creating an event there
|
|
|
|
5894
|
|
03:32:01,500 --> 03:32:08,500
|
|
so what happens on progressively enriching event by shared communities
|
|
|
|
5896
|
|
03:32:08,500 --> 03:32:11,0
|
|
I mean it's going back and forth to different communities
|
|
|
|
5898
|
|
03:32:11,0 --> 03:32:14,500
|
|
but I can imitate what the community is doing usually.
|
|
|
|
5900
|
|
03:32:14,500 --> 03:32:24,500
|
|
so if I'm creating an attribute for example I will create a hostname with some network activity.
|
|
|
|
5903
|
|
03:32:24,500 --> 03:32:37,500
|
|
So we have specifically a test that we created with this kind of...
|
|
|
|
5905
|
|
03:32:37,500 --> 03:32:41,0
|
|
so what would be your community and sharing?
|
|
|
|
5907
|
|
03:32:41,0 --> 03:32:42,500
|
|
So it could be for example in the same organization
|
|
|
|
5908
|
|
03:32:42,500 --> 03:32:47,500
|
|
in my case it's just shared to the organization so if I publish event here
|
|
|
|
5910
|
|
03:32:47,500 --> 03:32:53,500
|
|
it will be shared with all different instances maybe the different members of CIRCL
|
|
|
|
5914
|
|
03:32:53,500 --> 03:33:01,500
|
|
and one of my colleagues is taking one of the indicators there
|
|
|
|
5916
|
|
03:33:01,500 --> 03:33:07,500
|
|
and then he's going on the Faresight database doing a full-blown expansion
|
|
|
|
5917
|
|
03:33:07,500 --> 03:33:09,500
|
|
so that means he's basically doing a full-blown expansion.
|
|
|
|
5921
|
|
03:33:09,500 --> 03:33:17,500
|
|
What do I have here? I have a a complete set of objects for a specific domain
|
|
|
|
5922
|
|
03:33:17,500 --> 03:33:24,500
|
|
so you see again I'm going to the event graph now I enter my domain name
|
|
|
|
5923
|
|
03:33:24,500 --> 03:33:27,500
|
|
and I have all the passive DNS records associated to that one
|
|
|
|
5929
|
|
03:33:27,500 --> 03:33:32,500
|
|
and in this one I think I will have the event timeline
|
|
|
|
5930
|
|
03:33:32,500 --> 03:33:36,0
|
|
I have a completely different timeline of the different expansion and so on.
|
|
|
|
5932
|
|
03:33:36,0 --> 03:33:44,500
|
|
So then I will have one of my... it will be published again with the data.
|
|
|
|
5937
|
|
03:33:44,500 --> 03:33:51,0
|
|
If it's a collaboration I would say in the same team that's a thing
|
|
|
|
5939
|
|
03:33:51,0 --> 03:33:56,500
|
|
so it's sometimes people are working on the same event and publishing it
|
|
|
|
5942
|
|
03:33:56,500 --> 03:34:03,500
|
|
Sometimes they are sharing it and doing additional expansion on the things
|
|
|
|
5945
|
|
03:34:03,500 --> 03:34:07,500
|
|
until to reach a specific point that is like I would say
|
|
|
|
5946
|
|
03:34:07,500 --> 03:34:15,500
|
|
accessible or at least publishable in a publishing state that is acceptable by various people.
|
|
|
|
5950
|
|
03:34:16,0 --> 03:34:23,500
|
|
Now we can make proposal too. So that means if we are again with a different organization,
|
|
|
|
5952
|
|
03:34:23,500 --> 03:34:28,500
|
|
i don't know if in this example it will work but I can take...
|
|
|
|
5956
|
|
03:34:28,500 --> 03:34:31,500
|
|
do I have something interesting there
|
|
|
|
5958
|
|
03:34:33,760 --> 03:34:38,500
|
|
Yeah, for example I see an interesting IP address, this one.
|
|
|
|
5960
|
|
03:34:38,500 --> 03:34:46,500
|
|
So what I could do is i could add..
|
|
|
|
5961
|
|
03:34:46,500 --> 03:34:52,500
|
|
What's going on here?
|
|
|
|
5964
|
|
03:34:52,500 --> 03:34:57,500
|
|
{inaudible}
|
|
|
|
5965
|
|
03:35:04,0 --> 03:35:13,500
|
|
Okay just a demo effect, typical.
|
|
|
|
5967
|
|
03:35:13,500 --> 03:35:22,500
|
|
What's going on? Okay, just going back to this one I just want to add a proposal.
|
|
|
|
5970
|
|
03:35:22,500 --> 03:35:27,500
|
|
Yes I cannot just...
|
|
|
|
5971
|
|
03:35:27,500 --> 03:35:30,500
|
|
you wanted but you're admin.
|
|
|
|
5972
|
|
03:35:30,500 --> 03:35:37,500
|
|
You can cheat if you really want, you can do it.
|
|
|
|
5974
|
|
03:35:37,500 --> 03:35:44,0
|
|
Yeah, wait, fine. It's just like okay so I don't know for {inaudible} if we answered your question
|
|
|
|
5977
|
|
03:35:44,0 --> 03:35:50,500
|
|
but I mean a full-blown step would be like that, if you work on an event it's not a single person obviously.
|
|
|
|
5980
|
|
03:35:50,500 --> 03:35:54,500
|
|
When you do an investigation, you do like multiple steps but the question is more like
|
|
|
|
5984
|
|
03:35:54,500 --> 03:35:59,500
|
|
if you do it within a team usually you edit the current event in the same organizations
|
|
|
|
5987
|
|
03:35:59,500 --> 03:36:05,500
|
|
if you do inter-team, you do proposal, extend it even like we showed before
|
|
|
|
5988
|
|
03:36:05,500 --> 03:36:09,500
|
|
and then you start to work on this thing, so it's really depending on the case.
|
|
|
|
5992
|
|
03:36:09,500 --> 03:36:15,0
|
|
so I hope you can see what are the capabilities there
|
|
|
|
5993
|
|
03:36:15,0 --> 03:36:22,500
|
|
but it's really the progressive approach of collaboration usually depends on how people are working together.
|
|
|
|
5994
|
|
03:36:22,500 --> 03:36:25,500
|
|
If they are really external it's more proposal, extended event.
|
|
|
|
5999
|
|
03:36:25,500 --> 03:36:30,500
|
|
If it's within the same team it could be extended event or within the same event,
|
|
|
|
6001
|
|
03:36:30,500 --> 03:36:35,500
|
|
that's usually the two way of working. Andras, if you want to add something on that?
|
|
|
|
6003
|
|
03:36:35,500 --> 03:36:43,500
|
|
No yeah, that's perfect. Perhaps another question if you're okay with switching.
|
|
|
|
6007
|
|
03:36:43,500 --> 03:36:49,0
|
|
Yeah when speaking of feeding tools what would be the automatic way of doing it?
|
|
|
|
6009
|
|
03:36:49,0 --> 03:36:52,500
|
|
So normally when we're talking about feeding tools there are two separate ways of doing it
|
|
|
|
6011
|
|
03:36:52,500 --> 03:36:56,500
|
|
and we'll go way way deeper into this tomorrow when we talk about integration
|
|
|
|
6013
|
|
03:36:56,500 --> 03:36:58,500
|
|
but generally tools can either fetch data from MISP
|
|
|
|
6014
|
|
03:36:58,500 --> 03:37:02,500
|
|
so this is a more common way where a tool would use REST search API
|
|
|
|
6015
|
|
03:37:02,500 --> 03:37:06,0
|
|
that we mentioned before where you define your search patterns
|
|
|
|
6016
|
|
03:37:06,0 --> 03:37:10,500
|
|
for example give me everything that is newer than 30 days,
|
|
|
|
6017
|
|
03:37:10,500 --> 03:37:16,500
|
|
everything that is not coming from say OSINT sources
|
|
|
|
6025
|
|
03:37:16,500 --> 03:37:21,500
|
|
or perhaps not something, nothing that comes related to a certain topic
|
|
|
|
6027
|
|
03:37:21,500 --> 03:37:26,500
|
|
for example I'm not interested in Ransomware when feeding my tools, just a stupid example.
|
|
|
|
6031
|
|
03:37:26,500 --> 03:37:28,500
|
|
So you set up your filter options
|
|
|
|
6032
|
|
03:37:28,500 --> 03:37:32,500
|
|
and then your tool would fetch data from MISP every 60 minutes, for example.
|
|
|
|
6035
|
|
03:37:32,500 --> 03:37:40,500
|
|
and then replace the data set there. You can also do sliding time window searches
|
|
|
|
6037
|
|
03:37:40,500 --> 03:37:43,500
|
|
where you say give me everything from the past 60 minutes that is new
|
|
|
|
6040
|
|
03:37:43,760 --> 03:37:50,500
|
|
and then you keep concatenating your dataset on the SIEM side, IDS side, whatever tool you're feeding.
|
|
|
|
6043
|
|
03:37:50,500 --> 03:37:53,500
|
|
the alternative, if you want to have the data push automatically as it comes in
|
|
|
|
6046
|
|
03:37:53,500 --> 03:37:56,500
|
|
you have different channels in MISP that your tools can latch on to.
|
|
|
|
6048
|
|
03:37:56,500 --> 03:38:01,500
|
|
The downside being that you still need to do the conversion in those cases.
|
|
|
|
6050
|
|
03:38:01,500 --> 03:38:08,500
|
|
So if you were not using the APIs to fetch the data from MISP
|
|
|
|
6053
|
|
03:38:08,500 --> 03:38:12,0
|
|
then MISP can push using the MISP JSON format data down
|
|
|
|
6054
|
|
03:38:12,0 --> 03:38:19,500
|
|
via different channels ZeroMQ or the Kafka channel or this blog and so on
|
|
|
|
6059
|
|
03:38:19,500 --> 03:38:25,500
|
|
and then your tools automatically feed on that data so you have these two different ways of interacting with it
|
|
|
|
6062
|
|
03:38:25,500 --> 03:38:28,0
|
|
There's also a third way where you can basically
|
|
|
|
6063
|
|
03:38:28,0 --> 03:38:33,500
|
|
either build an export module or an enrichment module where an analyst can trigger
|
|
|
|
6064
|
|
03:38:33,500 --> 03:38:38,500
|
|
a direct push of a certain data point to another tool, so that's another option.
|
|
|
|
6069
|
|
03:38:38,500 --> 03:38:44,500
|
|
We'll talk about these different strategies when to use which and how to mix those tomorrow more.
|
|
|
|
6072
|
|
03:38:44,500 --> 03:38:50,0
|
|
So I hope that answers it in a brief fashion.
|
|
|
|
6073
|
|
03:38:50,0 --> 03:38:57,500
|
|
Yeah what i'm showing here is it's just like on the REST search client
|
|
|
|
6076
|
|
03:38:57,500 --> 03:39:01,500
|
|
for example you want to feed your Suricata and so on.
|
|
|
|
6078
|
|
03:39:01,500 --> 03:39:15,500
|
|
Just take page and a specific limit. So what you can do is
|
|
|
|
6079
|
|
03:39:15,500 --> 03:39:18,0
|
|
if you have a python script and so on you can pull directly the data.
|
|
|
|
6080
|
|
03:39:18,0 --> 03:39:24,500
|
|
So the rest client, so you see in this case I have the Suricata rule set
|
|
|
|
6081
|
|
03:39:24,500 --> 03:39:28,500
|
|
but if you want to feed your specific tools and and so on,
|
|
|
|
6088
|
|
03:39:28,500 --> 03:39:36,500
|
|
automatically we are generating curl and python card so it could be a bootstrap to see okay,
|
|
|
|
6090
|
|
03:39:36,500 --> 03:39:40,500
|
|
how should I create my own tool for feeding my IDS and so on.
|
|
|
|
6092
|
|
03:39:40,500 --> 03:39:45,500
|
|
For Suricata, for example a lot of management interface have already MISP connector
|
|
|
|
6096
|
|
03:39:45,500 --> 03:39:52,500
|
|
So you can even like feed the data directly from the interface if they have the ability
|
|
|
|
6100
|
|
03:39:52,500 --> 03:39:55,500
|
|
Splunk for example, there's a specific application
|
|
|
|
6101
|
|
03:39:55,500 --> 03:40:01,500
|
|
which is an external tools part of the app store of Splunk
|
|
|
|
6102
|
|
03:40:01,500 --> 03:40:03,500
|
|
that you can install for doing the connection
|
|
|
|
6105
|
|
03:40:03,500 --> 03:40:08,500
|
|
and some other people are using their own python script to feed other SIEM.
|
|
|
|
6107
|
|
03:40:08,500 --> 03:40:15,500
|
|
So again it's a matter of taste if you are curious about the different kind of integrations
|
|
|
|
6110
|
|
03:40:15,500 --> 03:40:22,500
|
|
or you can do it in Python for example on PyMISP itself there are plenty of examples.
|
|
|
|
6113
|
|
03:40:22,500 --> 03:40:29,0
|
|
So if you go in the example directory of PyMISP
|
|
|
|
6115
|
|
03:40:29,0 --> 03:40:38,500
|
|
you have quite significant set of default scripts that you can use
|
|
|
|
6116
|
|
03:40:38,500 --> 03:40:42,500
|
|
and that's I think usually a good basis
|
|
|
|
6117
|
|
03:40:42,500 --> 03:40:47,500
|
|
if you want to start to write your own custom custom tool set for
|
|
|
|
6118
|
|
03:40:47,500 --> 03:40:52,500
|
|
feeding your systems or existing software in your infrastructure.
|
|
|
|
6124
|
|
03:40:52,500 --> 03:41:04,500
|
|
Yep, I don't know if we should jump on a new topic
|
|
|
|
6125
|
|
03:41:04,500 --> 03:41:07,500
|
|
or we just push the Copalos example for tomorrow?
|
|
|
|
6128
|
|
03:41:07,500 --> 03:41:11,500
|
|
yeah I think we can do maybe tomorrow.
|
|
|
|
6130
|
|
03:41:11,500 --> 03:41:16,500
|
|
I think that would be stretching it a little bit if we were to start with that
|
|
|
|
6133
|
|
03:41:16,500 --> 03:41:24,500
|
|
So quick summary of today, so today we showed how to create an event
|
|
|
|
6134
|
|
03:41:24,500 --> 03:41:28,500
|
|
the basis of MISP like what is an attribute, an object and so on.
|
|
|
|
6138
|
|
03:41:28,500 --> 03:41:35,500
|
|
How to create it, how to make proposal, delete and stuff like that, so it's really a simple example.
|
|
|
|
6142
|
|
03:41:35,500 --> 03:41:40,500
|
|
Tomorrow, we want to show you more the event report aspect
|
|
|
|
6144
|
|
03:41:40,500 --> 03:41:46,500
|
|
and automatic imports into into MISP with a practical example of an original report.
|
|
|
|
6147
|
|
03:41:46,500 --> 03:41:51,500
|
|
and we will discuss tomorrow about how to build sharing communities
|
|
|
|
6148
|
|
03:41:51,500 --> 03:41:55,500
|
|
and especially we will share our experience of things that worked
|
|
|
|
6149
|
|
03:41:55,500 --> 03:42:00,0
|
|
and things that didn't work in the past years when creating sharing communities.
|
|
|
|
6153
|
|
03:42:00,0 --> 03:42:05,500
|
|
So if you are ISAC members or creating your own sharing community even within your organization
|
|
|
|
6157
|
|
03:42:05,500 --> 03:42:09,500
|
|
It's something good to participate because we will share with you
|
|
|
|
6158
|
|
03:42:09,5000 --> 03:42:15,500
|
|
some of the things that are interesting of building and bootstrapping such kind of of community.
|
|
|
|
6163
|
|
03:42:15,500 --> 03:42:20,500
|
|
I don't know Andras if you want to add something
|
|
|
|
6164
|
|
03:42:20,500 --> 03:42:26,500
|
|
No and that's basically it thanks for everyone for sticking through this
|
|
|
|
6167
|
|
03:42:26,500 --> 03:42:30,500
|
|
through it's a very condensed session so we said we didn't make as much progress
|
|
|
|
6170
|
|
03:42:30,500 --> 03:42:33,500
|
|
as we hoped so we have quite a bit left for tomorrow
|
|
|
|
6172
|
|
03:42:33,500 --> 03:42:35,500
|
|
and hope to see you all here tomorrow.
|
|
|
|
6173
|
|
03:42:35,500 --> 03:42:40,500
|
|
Thank you very much, take care and don't hesitate to ask questions
|
|
|
|
6175
|
|
03:42:40,500 --> 03:42:45,0
|
|
either later on directly contact us, thank you very much, see you tomorrow.
|
|
|
|
6177
|
|
03:42:45,0 --> 03:42:49,500
|
|
Thank you all see you tomorrow |