There are many approaches to finding the right people with the right talent to solve problems. Intrusion analysis and incident response is no different.
I recently saw a great recruiting quiz to test potential employees in various knowledge areas which included programming, packet analysis, protocol analysis, snort rule writing, reverse engineering, data encoding, advanced mathematics, and other topics. The test was designed so that it crossed so many topics one person would likely not successfully complete it. However, it would highlight a person’s strengths and interests to give the assessor a more complete picture of the applicant.
This made me think, what topics and questions would I use to achieve the same effect? After some deliberation, I have developed my own “20 Questions for an Intrusion Analyst” recruitment quiz (below) to highlight areas I think are important about a potential analyst joining a team.
As you may notice, I have covered several areas with these questions: analytic reasoning, creativity, adversary operations, packet analysis, intrusion detection, programming, reverse engineering, vulnerability analysis, exploit writing, and teaming.
I am purposefully not providing the answers 🙂
20 Questions for an Intrusion Analyst
- Describe you first experience with a computer or network threat
- You are given 500 pieces of straw and told that one piece is a needle which looks like straw. How would you find the needle? What other pieces of information would you like to have?
- Explain the difference between intrusion and extrusion detection
- Describe an adversary pivot, give an example, and explain its importance to intrusion analysis.
- Describe your analytic biases.
- Use the bit string 1101 to answer the following questions:
- The bit string when XORed with 0
- The decimal value of the string
- The string represented in hexadecimal
- Does this represent a printable ASCII character? If so, which character?
- What is your favorite intrusion detection system? What are its biases and limitations?
- Circle any of the following films you have seen: Hackers, War Games, Sneakers, Tron
- Describe a method to find an intruder using only network flow data (no content).
- Explain insertion and evasion of intrusion detection systems. Give an example.
- Describe the activity detected by the following Snort rule. What could be done to make the rule more effective? alert icmp $EXTERNAL_NET any <> $HOME_NET any (msg: “activity alert!”; sid:10000011; content:”MZ”;)
- Write a code snippet to sort the following data by the first column
10,bob
8,sally
2,suzy
3,billy
5,joey
- How much time/week do you spend on your own researching computer security/threat topics? What sources do you use to maintain situational awareness on threats in the wild?
- What will the following code print out? Is there a vulnerability in the code? If so, describe the vulnerability and a potential method of exploitation.
#include #include int main(int argc, char *argv[]) { char string[40]; strcpy(string, argv[1]); printf("The message was: %s\n", string); printf("Program completed normally!\n\n"); return 0; }
- Describe and explain any “interesting” entries in the netstat log:
Proto Local Address Foreign Address State TCP 0.0.0.0:53 0.0.0.0:0 LISTENING TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING TCP 192.168.1.4:53 91.198.117.247:443 CLOSE_WAIT TCP 192.168.1.4:59393 74.125.224.39:443 ESTABLISHED TCP 192.168.1.4:59515 208.50.77.89:80 ESTABLISHED TCP 192.168.1.4:59518 69.171.227.67:443 ESTABLISHED TCP 192.168.1.4:59522 96.16.53.227:443 ESTABLISHED TCP 192.168.1.4:59523 96.16.53.227:443 ESTABLISHED TCP 192.168.1.4:53 208.71.44.30:80 ESTABLISHED TCP 192.168.1.4:59538 74.125.224.98:80 ESTABLISHED TCP 192.168.1.4:59539 74.125.224.98:80 ESTABLISHED
- A host sends out an ICMP ECHO REPLY packet. List all of your hypotheses to explain this activity.
- Describe the protocol stack of the following packet and the payload. Is the packet legitimate? Why or why not?
0000 00 00 c0 9f a0 97 00 a0 cc 3b bf fa 08 00 45 10 .........;....E. 0010 00 89 46 44 40 00 40 06 72 c7 c0 a8 00 02 c0 a8 ..FD@.@.r....... 0020 00 01 06 0e 00 17 99 c5 a1 54 17 f1 63 84 80 18 .........T..c... 0030 7d 78 cc 93 00 00 01 01 08 0a 00 9c 27 34 00 25 }x..........'4.% 0040 a6 2c ff fa 20 00 39 36 30 30 2c 39 36 30 30 ff .,.. .9600,9600. 0050 f0 ff fa 23 00 62 61 6d 2e 7a 69 6e 67 2e 6f 72 ...#.bam.zing.or 0060 67 3a 30 2e 30 ff f0 ff fa 27 00 00 44 49 53 50 g:0.0....'..DISP 0070 4c 41 59 01 62 61 6d 2e 7a 69 6e 67 2e 6f 72 67 LAY.bam.zing.org 0080 3a 30 2e 30 ff f0 ff fa 18 00 78 74 65 72 6d 2d :0.0......xterm- 0090 63 6f 6c 6f 72 ff f0 color..
- What type of encoding is used in this example: aGVsbG8gd29ybGQNCg==
- Who do you turn to most on technical questions?
You didn’t expect the 20th question to be here did you? You should expect the unexpected by now.