How to get to know what to research, possible approaches:
Find supervisors that do things you consider interesting, ask them
what could you do for them.
Find research groups that do things you consider interesting, ask
them what could you do for them.
Find a research project that is interesting, work in that project.
Find a problem that is interesting and not solved yet, work on that
problem. Generally problems are either new or hard, sometimes both.
Sometimes (often? always?) solving an easy problem in a proper way
turns to be very hard. Proving it's the right way to solve that
problem is very often much harder.
Find what is interesting for you, then find problems in that area
and find funding to solve those problems.
Find a business model, if you are not certain about what is interesting for you, then consider what is interesting for everybody else, so interesting that they would be willing to pay for it.
Find what are you good at and it may become your passion.
Find current trends in research, hot topics, there should be problems, money and success there.
In the end it doesn't really matter what you find first, you have to find everything else (a supervisor, funding, etc.) however the order in which you find some things will probably determine what you find later, i.e. the information you get and the decisions you make direct your search throughout the process.
How to find things? Searching. It's hard and tedious, there are no shortcuts, AFAIK.
The only advice I can give is: "Don't make the problem, find it", problems should not be "created" or "invented" to do research, some situation may not have been perceived as a problem before, that's fine, you check that situation and change it, hopefully for the better. Research in computer engineering consists in using (sometimes making) computers and/or software to go from point A to point B (as a very naïve description), hopefully point B will be better under some perspective than point A, but what I would like to stress is that point A should be real. It may not be common (that's fine) but it has to be real.
Point A is in the world, not in any book, there may be books (papers, etc.) that describe point A, that reach to point A (from a previous one), etc. but point A is in the real world and this should be never forgotten. The most theoretical part of computer science doesn't care whether A is real or not, that work is important by setting the foundations of things that will be used in the future, when we reach to a point A where that is relevant (if that ever happens), it's a very hard and uncertain type of research, that I don't personally like (for me) and that you don't seem to pursue. Therefore, for us, point A is in the real world, out there.
This is important because that means that we can access point A from the world and from the way it relates with other things. There may be people interested on that, research groups, research projects, papers describing it, business to do in solving it, skills that are relevant for it, trends that involve it, etc. Those are paths to find it, to get to it.
So this is your first research topic, you are in ignorance, point A, you want to find a research topic, point B (that will later become A). How do you do it? I offer you this "relational approach", try to find a better one. After all, we are only talking about information, searching, maybe it's too soon to make a search engine for this, but maybe someone can make a search methodology that will probably involve using conventional search engines.