99 - Sample Exam Paper Flashcards

1
Q

In the context of database, what is a key?

A

A key is a set of one or more attributes (columns) in the table that have certain properties. They are used to establish and identify relationships between tables and also to uniquely identify any record or row of data inside a table. A Key can be a single attribute or a group of attributes, where the combination may act as a key.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is primary key?

A

Used to uniquely identify the tuples in a table, every tuple in a relational database has its own primary key. Normally it will be chosen from one of the primary keys.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is foreign key?

A

A FOREIGN KEY is a key used to link two tables together.

A FOREIGN KEY is a field (or collection of fields) in one table that refers to the PRIMARY KEY in another table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between key and index?

A

An index is a copy of selected columns of data from a table that can be searched very efficiently.

A DBMS key is an attribute or set of an attribute which helps you to identify a row(tuple) in a relation(table) and to establish relationsships between tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

List some popular database operations?

A
  • Selection
  • Projection
  • Union
  • Intersection
  • Difference
  • Cartesian Product
  • Join
  • Divide
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is an index?

A

An index is a copy of selected columns of data from a table that can be searched very efficiently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a compound key?

A

A compound key includes two or more attributes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a super key?

A
  • A set of data attributes (one or more) from different columns in a table that can be used as an identifer (primary key).
  • No two tuples have the same values for the super key.
  • Key attributes that can uniquely identify a row.
  • Several super keys can be present in a table.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a candidate key?

A

A column or set of columns in a table that can potentially be used as a primary key.

To qualify, it must be able to function as a unique identifier to sort all of the table’s data records.

It’s a minimum super key. A super key reduced to the least amount of attributes needed to uniquely identify a row.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

In analysing unknown databases, why investigators should gather information on each database file? Describe with example this task in details.

A
  1. Understand / Use the Application
  2. Find the SQLite files
  3. Gather information on each database file
  4. Perform common application tasks
  5. Develop SQL queries to extract information
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

In the context of iOS Forensics, describe the main steps of:

  1. Recovering contact information
  2. Retrieving Call History Information
A

Contact information

  1. Examine the schema of ABPerson table
  2. Retrieve all information from the ABPerson
  3. Examine the schema of other tables (ABMultiValue, ABMultiValueEntry, ABMultiValueLabel)
  4. Retrieve information from the ABPerson, ABMultiValue, ABMultiValueEntry, ABMultiValueLabel tables

=> be aware of NSDate Format (# of seconds since 2001)

Call History

Information are stored in call_history.db. Important table: call. Will only hold 100 calls (incl. FaceTime). Main columns are: ROWID, address, Date (Unixepoch), duration, flags, id, country_code

flags: 4=incoming, 5=outgoing, 8=blocked, 16: facetime. Everything else=dropped.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How can we automate all analysis tasks by running just one command and all outputs are stored in a file rather than
displayed on the monitor?

A

This can be solved by creating an query script first.

To change the output:

# .mode csv

# .output results.csv

then to run an external script:

# sqlite3 messages.db

# .read analysis.sql

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. What is a database?
  2. What is a DBMS?
  3. What is a relational database?
A
  1. A database is a organized / structure collection of records or data, that is stored presistent in a computer system.
  2. A database management system is a software designed to define, manipulate, retrieve and manage data in a database. A DBMS generally manipulates the data itself, the data format, field names, record structure and file structure
  3. A relational database is a type of database that stores and provides access to data that are related to one another.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe the MySQL Data Directory?

A
  • Each database has its own database directory.
  • Tables, views, triggers correspond to files in the directory.
  • Typical files are:
    • frm file (used to define the format of a table)
    • process ID (PID) file
    • status and log files
    • DES key files
    • Server’s SSL certificate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Where is the Describe the MySQL Data Directory located or how can it be found?

A

Windows

  • C:\Program Data\MySQL\
  • C:\Documents & Settings\All User\Application Data\MySQL

Linux:

  • /usr/local/mysql/data
  • /var/lib/mysql

or run: $mysqladmin variables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe the SQLite Database File Structure?

A
  • Main DB file consists of one or more pages.
  • The page size is between 512 - 65’536 bytes.
  • All pages within the same DB are the same size.
  • Pages are numbered beginning with 1.
  • Smallest page is 512 bytes.
  • Max page number 2^31-2
  • Max DB size is 140 TB
  • For main types of pages:
    • Header page (DB header + schema table)
    • B-Tree page (internal or leaf page)
    • Unused pages (free list)
    • Lock-byte pages
17
Q

What is a B-Tree?

A

In general, a B-Tree is a self-balancing key structure that keeps data sorted, and allows searches and sequential access, insertion and deletion.

The B-Tree is the data structure SQLite uses to represent both tables and indexes.

B-Tree for indexes is called B-Tree, for tables it’s called B+-Tree.

Nodes with children are called internal nodes (contains keys and pointers), nodes without children are called leafs (contains keys and values).

18
Q

How can you recover deleted records in SQlite databases?

A
  1. Identify the number of fields & data types in a schema table
  2. Gather all Deleted Area offsets by scanning the pages
  3. Inspecting all deleted areas
  4. Single cell => Extract data
  5. Not single cell => split into single cell => extract data
  6. Go to next free block or next page

ALso:

  • Check associated WAL files, as they are not filled with zeros.
19
Q

What is Text Mining?

A

Is the process of deriving high-quality information from text. It’s a technique to gather intelligence out of text documents.

  • Find documents related to a particular crime
  • Find releationship networks and planned activities
  • Identification or tracking of hidden semantics

Challenges: Ambiguity, non-standard language, more complex language than English

20
Q

What is the general process of Text Analytics?

A
  1. Text preprocessing
  2. Text transformation
  3. Feature Selection
  4. Data mining
  5. Evalute Results
21
Q

What is data mining?

A

Data mining is the process of discovering patterns in large data sets involving methods in:

  • machine learning
  • statistics
  • database systems