15.01.2014 Views

An Ontology for Digital Forensics in IT Security Incidents - OPUS

An Ontology for Digital Forensics in IT Security Incidents - OPUS

An Ontology for Digital Forensics in IT Security Incidents - OPUS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

60 CHAPTER 7. IMPLEMENTATION<br />

1 SELECT DISTINCT ? name ? file<br />

2 WHERE {<br />

3 ? file rdf : type fs : FSFileName .<br />

4 ? file fsfn : name ? name .<br />

5 FILTER ( regex ( str (? name ), " FILENAME "))<br />

6 }<br />

List<strong>in</strong>g 7.4: F<strong>in</strong>d le Query<br />

7.6.2 Autorun<br />

Accord<strong>in</strong>g to [Microsoft, 2010] the entries <strong>for</strong> the Run and RunOnce keys<br />

are located <strong>in</strong> the paths shown <strong>in</strong> list<strong>in</strong>g 7.5.<br />

HKEY_LOCAL_MACHINE / Software / Microsoft / W<strong>in</strong>dows / CurrentVersion / Run<br />

HKEY_CURRENT_USER / Software / Microsoft / W<strong>in</strong>dows / CurrentVersion / Run<br />

HKEY_LOCAL_MACHINE / Software / Microsoft / W<strong>in</strong>dows / CurrentVersion / RunOnce<br />

HKEY_CURRENT_USER / Software / Microsoft / W<strong>in</strong>dows / CurrentVersion / RunOnce<br />

List<strong>in</strong>g 7.5: Autorun registry paths<br />

A common part of these paths is W<strong>in</strong>dows/CurrentVersion/Run. The<br />

goal of the query is to retrieve the key-value pairs that are the values of<br />

these keys. The result<strong>in</strong>g query is shown <strong>in</strong> list<strong>in</strong>g 7.6. At rst, <strong>in</strong> l<strong>in</strong>es<br />

three and four a key that has the name W<strong>in</strong>dows is selected and bound to<br />

the variable ?w<strong>in</strong>. L<strong>in</strong>e ve b<strong>in</strong>ds a sub key of the one <strong>in</strong> ?w<strong>in</strong> to the<br />

variable ?cv. The l<strong>in</strong>es six and seven ensure that the key <strong>in</strong> ?cv has the<br />

name CurrentVersion. L<strong>in</strong>e eight works similarly to l<strong>in</strong>e ve and b<strong>in</strong>ds the<br />

subkeys of ?cv to ?run. L<strong>in</strong>e ten lters the value of ?run to conta<strong>in</strong> Run<br />

<strong>in</strong> its name. This way Run, RunOnce and all other keys that conta<strong>in</strong> run<br />

like RunServices and RunServicesOnce are <strong>in</strong>cluded. The l<strong>in</strong>es eleven to<br />

thirteen extract the key-value pairs to the variables ?name and ?command.<br />

7.6.3 Parent Process<br />

Some malware tries to hide by remov<strong>in</strong>g itself from the process hierarchy<br />

that starts with one process. This can be detected by look<strong>in</strong>g at the l<strong>in</strong>e<br />

of ancestors of each process. If one process is its own parent or does not<br />

orig<strong>in</strong>ate from the most basic process, it might have tried to hide. Of course<br />

the most basic parent process is always <strong>in</strong> the result set as it was specied to<br />

be its own parent <strong>in</strong> section 6.5. For this query aga<strong>in</strong> two possibilities exist.<br />

The rst one is shown <strong>in</strong> list<strong>in</strong>g 7.7. L<strong>in</strong>es three and four b<strong>in</strong>d a pro:Process<br />

object to the variable ?child that is the process the query will exam<strong>in</strong>e. The<br />

OPTIONAL keyword species that the restrictions <strong>in</strong> the follow<strong>in</strong>g block, that<br />

is <strong>in</strong>dicated by braces, do not necessarily need to match. The * <strong>in</strong> l<strong>in</strong>e six

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!