The Web app that we're writing, called AIVScan (AIV stands for "Am I Vulnerable?") is intended to take the user's Internet-facing IP address and scan it for common vulnerabilities (open ports, running services, outdated software, etc.). AIVScan will then send the user a concise report detailing the vulnerabilities, if any, and provide suggestions on how to improve their security posture.
Those are the basics.
How will AIVScan actually work? At the heart of AIVScan will be the open source Network Mapper (Nmap) security scanner. We plan to use Nmap in conjunction with our database to take the user-submitted IP address and subject it to some predefined arguments. The details of what type of Nmap arguments we will be using are still up in the air, but we have the basic process down as follows:
- The user navigates to the AIVScan website
- The user creates a profile (required) that consists of username (email address) and password prior to conducting first scan
- A link is generated and sent to the user-provided email address for verification (to avoid having AIVScan abused for DDoS attacks)
- User follows link, verifies profile/account creation, and is then given the opportunity to conduct their first scan
- User initiates scan
- User IP address is obtained automatically (denying the option to manually provide IP addresses is intended to further reduce AIVScan's potential for abuse by hackers).
- User IP address is passed to Nmap on the server with predefined arguments.
- IP address is scanned
- Output is generated and sent to an XML report detailing user vulnerabilities and suggested course of action
- Report is sent as email to user
The other members of the team preferred to avoid Java--they are doing a lot of the back-end work in Python. But for me, sticking with Java has a secondary purpose besides AIVScan, and that's Android OS. All Android is done in Java. I got derailed in my earlier attempts to break into Android development, but I've gotten Eclipse IDE back up and running and partnered with a friend to begin hacking out some basic applications. That's for another post, though.
In the meantime, I guess I'm going to try and work on not sucking at Java.

No comments:
Post a Comment