How old were you when you started exploring Windows\comp sci ?
Started when I was 11. I didn't start with comp sci though. Just started with programming and being interested in computers in general.
You had to work really hard at it, didn't you ? I mean you didn't type out a few lines of code, and voila, you instantly became the Anti-Malware King ? (We know you're brighter than most. You make it look so easy, but I know you had to have worked very hard to ascend to where you are today. You earned it by working your ass off.)
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.
Can you provide a brief outline of how you progressed with your learning ?
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.
How did you motivate yourself when you weren't progressing along, having difficulty finding learning resources,, or subject matter that was tough to learn ?
Stubbornness. The same kind of attributes that get me regularly into trouble with people in real life.
I think most people struggle with this... they want to learn, but there are only a few good resources to gain competency and "Googling it" is highly inefficient if not ineffective.
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
Which programming language is good for beginner to start out? Javascript or C++?
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 am really excited for the cloud console, as I am really into centralized management. From what I understand, currently the focus will be on the Windows version of EAM, but I was wondering if there are any plan in the future to include the Android version as part of the cloud console? I think it would be really good to be able to not only setup, monitor and control the Windows machines, but also your mobile Android devices as well.
I wouldn't rule it out, but probably not for a while.
Another question that came to mind, is what are your thoughts on sandboxing AV's to protect the OS from any potential vulnerabilities in the AV/AM program, that aren't yet patched? I know Tavis Ormandy has been preaching this for a while now and with Microsoft adding this to WD, do you feel like it is necessary?
Can't talk about it yet. But it is a valuable feature.
Furthermore, I was listening to a Security Now podcast where Steve Gibson was talking about this (after Microsoft stated that they were implementing this) and he said that Microsoft is really the only one who is able to do such a thing, is this true, or can other vendors like yourselves also implement something like this if needed?
You will see.
I think EAM's processes are not using Protected Processes and Control Flow Guard. Is that true ? If not used, what is the reason?
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.
What do you think about adding Webcam Protection feature to EAM?
Security theatre. Only reliable way is sticker or some kind of cap to put over your webcam.
Is it possible for you to tell just about a few criterias, which Emsisoft uses to define a program as a Pup?
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.
Does the Emsisoft behavioral engine is able to recognize Pup behaviors?Or is it just dependent on signatures. Thank you.
The behaviour blocker is able to detect a whole bunch of them. But especially removal is heavily driven by signatures.
Usual top SEO ranks list fake crack software that are malware 99% of the time. You can switch to MSFT defender and use configure defender for max protection as well, still it detects and removes Microsoft Toolkit or KMS pico.
Mostly because especially enterprises don't want their users to use cracks/pirated software.