Hey everyone.
This is my second status report for the Exitmap improvements project. These 2 weeks, I was building up on the browser automation aspect to allow for browser interactions on Exitmap scans. These will better help disguise scanner activity against malicious exit nodes that might not act like an adversary when they detect scanner-like behavior in the client.
Work and details: ----------------------- 1. I am using the Selenium WebDriver Python bindings to help in simulating browser actions. Have implemented some simple actions in Selenium and have also taken inspiration from the Tor Browser Selenium library suggested by the community. 2. Have included actions like opening a random number of links on the webpage in the same page, new tab or another window. Tried to get clickable elements of a webpage but facing some issues with dynamic pages where buttons do not enabled instantly. 3. Added browser_simulation.py that allows for a module to import the functions use the simulate() function with the intended URL to performs these operations. Some problems in these functions with some websites. Could be due to dynamic content. Needs to be fixed.
Problems faced: ---------------------- 1. Major issue that I am facing is with the multiple invocations of the module for every exit node. The asynchronous calls are throttled due to the more serial Selenium calls to the TBB driver. I have not found a working solution for this as of now, which makes the tests running with browser automation to be much slower. 2. For some operations like opening tabs, I could not find defined library calls, leading to more hackier ways to complete these operations. This often leads to unexpected behavior and needs to be fixed.
Future plans: ----------------- As continuous scanning is more important toward the project, I will be focusing on that for the moment and revisiting browser automation after I complete the former. My next report is due on 1st July.
I also have submitted the report a week late due to unexpected complete disconnect from internet in the area I was at that moment for 6 days. This caused my work to stop for some time and I apologize for the irregularity. Immediately having shifted to a metropolitan city, I will ensure my reports will now be on time and work will progress without hindrance.
Regards,