Trial 1 Transcript Ian Whiffin
Trial 1 / Day 26 / June 17, 2024
6 pages · 3 witnesses · 2,219 lines
Joseph Paul's collision reconstruction testimony concludes amid ongoing methodology challenges, while Cellebrite expert Ian Whiffin places Jennifer McCabe's Google search at 6:23 a.m. and digital forensics trooper Nicholas Guarino rebuts the defense deletion theory before introducing Karen Read's final texts to O'Keefe.
1 5:56:31

MR. YANNETTI: Good afternoon, Mr. Whiffin.

2 5:56:35

MR. WHIFFIN: Good afternoon.

3 5:56:37

MR. YANNETTI: You had spoken a little bit about — what was your assignment here in terms of the data that was sent to you? And I believe that you testified regarding that 2:27 a.m. — or 2:27 and 42 seconds a.m. — timestamp, that it didn't make sense to the investigators, correct?

4 5:57:31

MR. WHIFFIN: Correct.

5 5:57:31

MR. YANNETTI: Were you told that one of the investigators was Trooper Michael Proctor?

6 5:57:36

MR. WHIFFIN: I don't recall any names being mentioned. The request came to me via another Cellebrite employee who had been asked about this case and asked whether we could offer any help.

7 5:57:48

MR. YANNETTI: Okay, thank you. You would agree with me that when you're making or doing a simulation, you want it to be as close to an apples-to-apples comparison as you can get, as best possible, yes?

8 5:58:02
9 5:58:02

MR. YANNETTI: And to get truly accurate research results you want to eliminate as many variables as you can, correct?

10 5:58:09

MR. WHIFFIN: Correct.

11 5:58:09

MR. YANNETTI: You wouldn't, for instance, want to use an Android operating system to try to replicate the activity from Jennifer McCabe's Apple iPhone, correct?

12 5:58:19

MR. WHIFFIN: Correct.

13 5:58:19

MR. YANNETTI: What version of iOS did you use for your testing of Jennifer McCabe's data?

14 5:58:27

MR. WHIFFIN: So this test has been undertaken on various different versions of iOS, from iOS 12, 13, 14, 15, 16, 17, and most recently on the beta version of 18 last week. This particular demonstration was on 15.8.2.

15 5:58:46

MR. YANNETTI: Okay, and you're aware that you said 15.8.2, correct?

16 5:58:51

MR. WHIFFIN: I've also tested on 15.7.

17 5:58:54

MR. YANNETTI: Oh, fair enough. You're aware, however, that McCabe was using iOS version 15.2.2, correct?

18 5:59:01

MR. WHIFFIN: Correct.

19 5:59:02

MR. YANNETTI: And you would agree that the way that an artifact is stored would depend on the iOS version that you use, correct?

20 5:59:14

MR. WHIFFIN: Correct.

21 5:59:14

MR. YANNETTI: And your simulation did not use the iOS version that Miss McCabe was running on her iPhone, correct?

22 5:59:23

MR. WHIFFIN: Correct. I used the closest version I could find.

23 5:59:28

MR. YANNETTI: So I'd like to ask you some questions about the characteristics of browser state.db-WAL and record number 4028. If I — okay — that record number, I believe you testified, was found to be deleted, correct?

24 5:59:47

MR. WHIFFIN: Correct.

25 5:59:47

MR. YANNETTI: But you were able to recover the date and time associated with it, correct?

26 5:59:55

MR. WHIFFIN: The date and time of the last viewed of that, yes.

27 6:00:00

MR. YANNETTI: And what was that date and time?

28 6:00:04

MR. WHIFFIN: 2:27:40 seconds a.m.

29 6:00:06

MR. YANNETTI: You were also able to recover the content of that particular Google search itself?

30 6:00:11

MR. WHIFFIN: I was able to recover the URL for it, yes.

31 6:00:16

MR. YANNETTI: Okay, and what was that Google search?

32 6:00:18

MR. WHIFFIN: "How long to die in the cold."

33 6:00:21

MR. YANNETTI: And it's true, however, that the session history could not be recovered, correct?

34 6:00:27

MR. WHIFFIN: That's correct.

35 6:00:28

MR. YANNETTI: Now, given those characteristics that you've just discussed, did your testing result in a WAL file record — a WAL file record — that matched the characteristics of 4028? In other words, deleted, with session history not recoverable?

36 6:00:44

MR. WHIFFIN: The issue with the session history — I was able to recover only the first page of session history. What happens is when there's a large amount of data that's split over multiple pages, if it's a live record, all those pages point to each other so that you can chain it together and get one large amount of information. Once they've been deleted, some of those pages can be overwritten and therefore the pointers don't make sense anymore. So the amount of information in this session was way larger than one page and I wasn't able to recover anything further.

37 6:01:26

MR. YANNETTI: Okay. And you'd agree that the simulation was done using a different operating system, correct?

38 6:01:32

MR. WHIFFIN: Correct.

39 6:01:33

MR. YANNETTI: Were you able to recreate the other deletions that appeared before and after that record 4028?

40 6:01:39

MR. WHIFFIN: Which deletion, sorry?

41 6:01:40

MR. YANNETTI: Well, you had testified — I believe there was an exhibit that was introduced — that showed that there were multiple deletions both before and after, correct?

42 6:01:50

MR. WHIFFIN: Correct.

43 6:01:50

MR. YANNETTI: Were you able to recreate those deletions?

44 6:01:53

MR. WHIFFIN: When I manually deleted records from the history, then the records also were deleted from the browser state.

45 6:02:00

MR. YANNETTI: Now, I believe that you testified — and if you didn't, I believe it's in your report — that there are essentially five mechanisms for record deletions in the browser state database, correct?

46 6:02:12

MR. WHIFFIN: Correct.

47 6:02:13

MR. YANNETTI: You ruled out four of them pretty quickly, correct?

48 6:02:16

MR. WHIFFIN: Correct.

49 6:02:17

MR. YANNETTI: And I believe you've testified to that today, correct?

50 6:02:20

MR. WHIFFIN: Correct.

51 6:02:20

MR. YANNETTI: The only remaining option was selective deletion by a user, or there's some internal mechanism for record deletion that is not fully understood, correct?

52 6:02:29

MR. WHIFFIN: Correct.

53 6:02:29

MR. YANNETTI: All right. And you know — as you testify today — you know of no internal mechanism for record deletion that is not fully understood, correct?

54 6:02:38

MR. WHIFFIN: I've not been able to replicate that function, no.

55 6:02:42

MR. YANNETTI: All right. If there is no unknown internal mechanism for record deletion that is not fully understood, that would leave selective deletion by a user, correct?

56 6:02:51

MR. WHIFFIN: Not in this case, no.

57 6:02:53

MR. YANNETTI: All right. Well, selective deletion — you would agree — means that a user selects what to delete, correct?

58 6:03:00

MR. WHIFFIN: Correct.

59 6:03:00

MR. YANNETTI: And regarding the — the user — the term "user," what is that? Who is that?

60 6:03:07

MR. WHIFFIN: Whoever is using the phone at the time.

61 6:03:11

MR. YANNETTI: Okay, so it's actually somebody who is using the actual iPhone itself, correct?

62 6:03:17

MR. WHIFFIN: Correct.

63 6:03:17

MR. YANNETTI: Not necessarily a computer expert, correct?

64 6:03:20

MR. WHIFFIN: Correct.

65 6:03:21

MR. YANNETTI: Would you agree with me that somebody who had access to the data before it was extracted and sent to you could have made selective deletions of the data?

66 6:03:34

MR. LALLY: Objection.

67 6:03:34

JUDGE CANNONE: Overruled.

68 6:03:35

MR. WHIFFIN: No, I don't.

69 6:03:36

MR. YANNETTI: Are you aware of an app called MySQL?

70 6:03:40
71 6:03:40

MR. YANNETTI: What is MySQL?

72 6:03:42

MR. WHIFFIN: MySQL is just a method for viewing SQLite databases.

73 6:03:46

MR. YANNETTI: All right. If someone had access to the raw data again — ...before it was sent to you, and using that app, they could make selective deletions of the data, couldn't they?

74 6:04:01

MR. WHIFFIN: I assume you're talking about opening up the extraction, and taking out the particular file and editing it—

75 6:04:07

MR. YANNETTI: I'm sorry, I interrupted you. You're right. I apologize. And I apologize to you. If you could restate your answer, or give me your full answer.

76 6:04:17

MR. WHIFFIN: Okay. So it would be possible with the extraction to take out particular databases, alter them, and put them back into the extraction, but something called a hash mechanism that we have in place — that would essentially hash the original data, and then it can be hashed again at a later date. It results in a long string of characters, and if there's any changes to the original data, then we'd see that it's been modified.

77 6:04:46

MR. YANNETTI: Would you agree with me that someone with access to that data and an appropriate application or program could also delete and renumber history.db and knowledge.db so that it would appear as though there was no break in the numbering, so that it would also appear that nothing was deleted?

78 6:05:27

MR. WHIFFIN: It's potentially possible, but would require a large amount of knowledge and skill to do in a way that can't be detected.

79 6:05:45

MR. YANNETTI: Thank you very much, sir.

80 6:05:50

MR. LALLY: Any discrepancy between the iOS version and JM's phone — in the iOS version in the demonstration that you did — what if any impact does that have on what you showed this jury?

81 6:05:59

MR. WHIFFIN: So in this particular case, every iOS version I tested — as I mentioned, from 12, 13, 14, 15, 16, 17, and 18 — the timestamp is always referring to the time that the tab took focus. So even though there are some differences with when the record's created, the meaning behind that timestamp has been consistent.

82 6:06:14

MR. LALLY: Now, what you were asked about in regard to selective deletion — you indicated that there was no evidence of that in this case. Is that correct?

83 6:06:21

MR. WHIFFIN: Correct. Selective deletion would require that the record existed in the history database in order to be selected to be deleted. The fact that there's no missing records indicates it was never written into that database, and therefore could not have been selectively deleted.

84 6:06:33

MR. LALLY: Now, the hash mechanism that you testified to — as far as detecting whether or not someone had seriously gone in and deleted things, did you see any evidence of that in your review of the extraction?

85 6:06:46

MR. WHIFFIN: I didn't have access to the hash information to see whether any changes have been made. That's something that the original examiner would have had access to. From my point of view, there was nothing in there that would indicate that tampering had occurred. The timestamps all made sense for the files. The historical pages all made sense. I say it's probably possible, but it would take a large amount of skill to do.

86 6:07:12

MR. LALLY: Now with regard to your analysis and your testing in this case, again, what is your opinion or conclusion as to when these two Google searches were conducted?

87 6:07:38

MR. WHIFFIN: I'm of no doubt that the only time those two searches were conducted was at 6:23 and 6:24 on the morning of the 29th.

88 6:08:00

MR. LALLY: Thank you, sir. Nothing further, Your Honor.

89 6:08:07

MR. YANNETTI: Prior to today, have you ever heard of spontaneous deletion?

90 6:08:16

MR. WHIFFIN: It's not a term that I'm familiar with.

91 6:08:24

JUDGE CANNONE: All right, sir, you are all set. Thank you very much.

92 6:08:34

JUDGE CANNONE: Do you need a couple of minutes?

93 6:08:41

MR. WHIFFIN: I can probably be quite fast. Thank you.