Security Considerations - SCCapstone/EZBag GitHub Wiki

Identify sensitive information kept by your software. Explain how you plan to protect it .

Currently the only sensitive information we store in our database would be customer and business emails and contact information. All information would be collected over HTTPS (using an SSL certificate) keeping communications encrypted and secure. Additionally all PII will be encrypted before it is entered into the database.

Identify possible attack vectors, that is, ways malicious users could try to use your software to escalate their privileges. This includes root access to your server, access to other user’s sensitive information (say via XSS attacks), root access to your database, etc. Explain protection plan. Additionally all PII will be encrypted before it is entered into the database.

The EZBag web app will be run and hosted on a non-root account so users will not have root access to the server. In order to prevent someone who gets access to the database from reading and getting all customer information, we will encrypt customer and employee information including phone numbers, emails, and passwords. To prevent XSS attacks, we will check all submitted JSON objects to our API endpoints for arbitrary code, and we can also ensure only valid information is being submitted to our server, stored in the database, etc. Creating non-root credentials, that will be used by the web app backend to interface with the database, will prevent root access to the database. Root level interaction with the MongoDB database will only be allowed through the root user on the server and its root credentials to the database.