I have two years of experience as a pen tester, I want to do masters in machine learning and security and research in finding ways to tackle current security problems through machine learning. Also do suggest what I can do apart from masters to fulfill my research.


Here's some incomplete answer but that's all I can tell now.

Machine Learning today seems more of the programming framework so it's best suitable for developing new applications, so for this a bit of programming (scripting) is needed.

Machine Learning can solve existing problems better than previous solutions for example, Spam Filtering, Image Recognition, Speech to Text, Natural Language Processing etc.

However, using machine learning in applications usually means either doing completely new products (design from scratch) or extending existing products.

Machine Learning works on data so there's some data required to do the test and the more of it the better. It can be voice, sound, images, videos, logs, texts, structured documents, tables etc.

Now the thing is since there are many Machine Learning frameworks and services there aren't many applications yet, so the functionality is already built-in into the product like IDS, or it needs to be applied programmatically.

Because programming Machine Learning itself is not the main point but rather using it, the good starting point on seeing how it works and how it can be used is to have a look on Google Cloud Machine Learning.

Google Cloud Machine Learning

However even simple algorithms can be used effectively for example as "log processor" but also database (memory) is also needed.

One of the interesting Machine Learning applications is observing the user on the PC - instead of using more cameras to observe the person, so in this case Machine Learning can be used to analyze the traffic on the net, the web browsing history, what is typed and even what the person can see on the screen.

For example using Machine Learning with the tape archive and regular storage it is possible to analyze the log and predict what data will be required and when so it can be retrieved from tape archive ahead of time (that's the real and tested application example).

Machine Learning could be also to orchestrate all sorts of jobs based on the predictions of the required load - this is the case for some very complicated workflows, loads of them and limited resources, for example the way Google optimized their power management in data centers.

To get the idea first is to get some data first. The log data is ideal point of start. Prediction API seems interesting. However there are many other products offering similar functionality in machine learning, they usually facilitate real-time data streams like logs, it's good to google for them a bit.

The most popular languages for the job are Java and Python, but many other are used too including C, C++, C#, Go, Ruby, PHP, Perl etc.

So the main point is to invent the application and to do it is to have some data first.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.