Started when I was 11. I didn't start with comp sci though. Just started with programming and being interested in computers in general.
I am definitely not a king. There are plenty of much more talented people out there. There is a lot of practice involved, yes. But it never felt like work since I loved doing it. It helps that I have kind of an obsessive personality. I get really into things and don't stop pursuing them no matter how boring people find it.
First time I saw a PC was at 7. My dad did some educational courses as he was unemployed and at least in Germany when there is little chance for you to get a job in what you previously did your apprenticeship/education in, they try to teach you new stuff to get you into other jobs. I visited him a few times at his school and they had PCs there. It was clear that I wanted one, but my family was incredibly poor. Plus I grew up in the GDR. So PCs weren't that common, to begin with. I spent the next 4 years with saving money. Like I collected bottles on the street, saved my allowance, did anything a small kid can do really to get a bit of money.
At 10/11 I bought my first PC. I was so happy. It was a pretty decent one as well for the time and served me well for the next 6 years or so. It didn't take long until I was infected by a virus though (Tequila.B). I got it from a game I copied from a school friend most likely. Back then it was normal to just trade floppies on the school campus.
I didn't know what to do so my first reaction was to just go to the local library and look up computer viruses. To my surprise, they actually had a couple of books there for me to read. So I did that. It became obvious quickly that I would need to learn assembly to truly understand what was going on. So I did that. Bought a book about assembly and wrote my first little tool to clean up my messed up files.
Assembly was nice, but it was kind of tedious to write programs in. So I asked my school's computer science teacher what he would suggest. I literally dumped all kinds of questions on him actually, none of which he could answer. I really struggled with pointer arithmetic for example, but I really wanted to write a memory scanner. But he recommended Pascal to me. So when I was 12 I started to learn Pascal.
From Pascal the natural transition was to Delphi which I used almost exclusively and still do from time to time. On the road, I picked up C (which I thought was stupid in the beginning, as I had an irrational hatred for curly braces), then later C++. Then came the transition to Windows 95 and my interest in that.
Stubbornness. The same kind of attributes that get me regularly into trouble with people in real life.
For malware research there are a lot of great resources now, that didn't exist before.
OpenSecurityTraining is a good one. MalwareUnicorn has a
nice tutorial for basics as well. There are some amazing books as well. I can recommend these:
Buy Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture: Read Books Reviews - Amazon.com
www.amazon.com
Amazon.com: C++ Primer (5th Edition): 9780321714114: Lippman, Stanley, Lajoie, Josée, Moo, Barbara: Books
www.amazon.com
Pretty much everything related to C++ written by Bjarne Stroustrup, Herb Sutter, Scott Moyer and Andrei Alexandrescu.
Malware and reverse engineering specifically:
Buy Art of Computer Virus Research and Defense, The on Amazon.com ✓ FREE SHIPPING on qualified orders
www.amazon.com
Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation: 9781118787311: Computer Science Books @ Amazon.com
www.amazon.com
Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software [Sikorski, Michael, Honig, Andrew] on Amazon.com. *FREE* shipping on qualifying offers. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
www.amazon.com
I would start with C. From there transition to C++. Don't bother learning old C or C++ standards. They will only teach you bad habits. If your book/material starts to tell you to use new and delete for memory management, toss it and get a better one. Modern C++ (starting with the C++11 standard) is one of the most beautiful and expressive languages there is. Also Python is incredibly useful as well.
I wouldn't rule it out, but probably not for a while.
Can't talk about it yet. But it is a valuable feature.
You will see.
They require certain groundwork that isn't in yet, because it is specific to Windows 8/10 only and we still need to support Windows 7.
Security theatre. Only reliable way is sticker or some kind of cap to put over your webcam.
Download wrappers
A download wrapper is an installation program that is wrapped around the actual program a user wants to install. It often contains sponsor offers which are optional, but often presented in such a way that a user is persuaded to install these additional features.
Download wrappers will be detected when one or more of the following conditions are true:
- There is no (clear) link to, or description of the EULA and/or Privacy Policy of the product(s) presented before the installation starts.
- There is no (clear) option to decline the installation of sponsor applications/features present or the way this option is presented is misleading or third-party options are prechecked.
- During installation the browser settings (e.g. homepage, search settings) are modified without user consent and/or notification.
- Sponsor applications/settings are installed/changed without user consent.
- The included application(s) does not have an uninstall option.
Toolbars/Browser Helper Objects/Browser Extesions
A toolbar/BHO/Extension is an addition to an internet browser that can have a variety of functions. They will be detected when one or more of the following conditions are true:
- (One of) the objective(s) of the toolbar/BHO/extension is to track personal data and/or transmit this to third parties without sufficiently informing the computer user about this.
- There is no (clear) link to, or description of the EULA and/or Privacy Policy of the toolbar/BHO presented before the installation starts.
- During installation the browser settings (e.g. homepage, search settings) are modified without user consent and/or notification outside the scope of the toolbar/BHO.
- The toolbar/BHO/extension is installed silently (without asking for user consent).
- The toolbar/BHO/extension does not have an uninstall option.
PC Optimizers
PC Optimizers are applications that pretend to scan for problems on a computer (this can be malicious content, outdated drivers, performance issues and so on). This type of program will be detected when one or more of the following conditions are true:
- The application presents fake or non-existent threat detections and removal or does not present details about found objects.
- The application is installed without user consent.
- The application does not have an uninstall possibility.
- The application presents alerts/pop ups meant to scare the user into purchasing the product without such alerts being warranted by the severity of the found issue(s).
- The program is not able to address detected problems but requests payment to unlock this feature nonetheless even though no form of trial is available.
Risktools
Risktools are applications that provide a functionality that in itself is non-malicious but can be used by third-parties to conduct malicious activities. Applications will be detected when one or more of the following conditions are true:
- The application facilitates the monitoring/capture of networks or network traffic.
- The application facilitates the monitoring/capture of text input.
- The application facilitates modification of access levels/policies on a computer in an insecure manner.
Remote administration tools
- Remote administration tools are applications that can be used to access a computer from a remote location. This type of application is detected when one or more of the following conditions are true:
- The application allows a connection from/to a remote computer insecurely and/or without requiring consent/authentication from the (remote) user.
- The application is installed silently (without asking for user consent).
In general, we allow our analysts certain freedoms and to use their common sense though. These standards are also regularly updated.
The behaviour blocker is able to detect a whole bunch of them. But especially removal is heavily driven by signatures.
Mostly because especially enterprises don't want their users to use cracks/pirated software.