
Figure 4. Process classification results.
•
Our classification algorithms performed using
263
the JA3database.264
Our datasets contain over
48,000
Client Hello
265
packets collected over 6 home networks made up of
266
personal computers, laptops, home servers, and phones.
267
All the major operating systems (Windows, Mac, Linux,
268
Android, iOS) were represented in our experiments.269
Some of our classification algorithms even exposed
270
problems with the current version of the Mercury
271
database; it was created on corporate Cisco networks,
272
and thus skews heavily towards enterprise applications,
273
such as Cisco Webex, and towards very specific operat-
274
ing systems, mainly Mac OS. However, we discovered
275
that JA3cury is largely able to overcome this due to
276
the meshing together of different fingerprints from the
277
original Mercury database, which tends to average out
278
the discrepancies.279
Process and Category Detection280
Each process in the database contains a classification
281
into many categories, such as productivity, security,
282
or gaming. This means that process and category de-
283
tection are closely connected together. However, we
284
discovered it is possible to obtain a high accuracy of
285
category detection even with relatively low process
286
detection accuracy. This is due to the fact that the er-
287
roneous classifications tend to get averaged out due to
288
the vastly lower number of categories than processes,
289
which leads to larger detection scores.290
The average results for process classification of the
291
top 5 processes for each client can be seen in figure 4.292
Our JA3cury method was able to outperform the
293
baseline results generated by the official
pmercury294
for all our classification algorithms. Furthermore, our295
modified JA3cury database outperformed the original
296
Mercury database in all but one experiment.297
Furthermore, the category detection using our al-
298
gorithms was also successful, viz figure 5. Again, our
299
classification using JA3cury was more successful over-
300
all than either the original
pmercury
detection, or
301
Figure 5. Category classification results.
even the detection using our algorithms and the origi-
302
nal Mercury database. 303
The difference in scoring processes and categories
304
between the default Mercury and our JA3cury ap-
305
proaches is well illustrated in figure 6. This graph
306
shows the scores of different processes on the Y axis,
307
with each process being represented by a bar on the
308
X axis. Each process is also scored with Mercury and
309
JA3cury. You can see that JA3cury identified more pro-
310
cesses and categories, and it attributed a higher score
311
to correct processes compared to Mercury. 312
Operating System Detection 313
The information about operating system classification
314
in the Mercury database is dependent on the process
315
classification, as the operating system information is
316
nested inside each process (see figure 2). Furthermore,
317
the database unfortunately does not contain informa-
318
tion about mobile operating systems; instead, they tend
319
to be classified as desktop operating systems with the
320
most similar kernel architecture; MacOS for iOS de-
321
vices, and Linux for Android devices. 322
The database contains operating system informa-
323
tion split into three parts: the family (Linux, MacOS,
324
Windows), the name (Windows 10 Professional, Linux
325
4.19, ...), and the build version (10.5.6.7, ...). For our
326
experiment, we decided to classify the operating sys-
327
tem using a tree structure with depth of 4, where the
328
operating system frequency trickles down into the leaf
329
nodes. An example of this tree can be seen in figure 8.
330
Furthermore, the tree is sorted such that each par-
331
ent has its children ordered from the most frequent to
332
the least frequent. This allows us to find the most prob-
333
able operating system by taking the leftmost nodes. In
334
this case, the classification would result in
WinNT - 335
Windows 10 Enterprise - 10.0.18363.336
The operating system classification was performed
337
on all clients in each network. The comparison of
338
result for detection of the operating system family us-
339
ing our classifiers can be seen in figure 7. The figure
340