I am a security analyst at a large organization, and I'm responsible for developing an algorithm that connects users to their assigned devices. I write code that indicates if a user is approved on the system and has brought their assigned device to the security team.
My task is to update the system during onboarding and offboarding and to validate sign-ons.
In this project, I primarily used lists and index functions to determine and enforce access controls. I used Jupyter notebooks for this demonstration instead of an IDE or CLI. Part of my job is to ensure proper access control for users attempting to access the corporate network. Additionally, I liaise with the HRM department to add or remove access as workers join or leave our team.
There's a new employee ["G. Esparza"] joining the organization, and they need to be provided with a username and device ID. I have received a username and device ID for this new user. After adding them to the list, I must display the approved_users and approved_devices variables to confirm the added information.
An employee ["T. Shah"] has left the team and should no longer have access to the system. After updating the system, display both the approved_users and the approved_devices variables to view the removed users.
HR has asked the security team to confirm access for a worker who used their ethnic (S. Guillermo) and then anglicized (S. Gilmore) name during application and on-boarding. HR wants to confirm which name the person should use to access the system.
To do this, I must write a conditional statement that verifies if a given username is an element of the list of approved usernames. If it is, display "The user ______ is approved to access the system.". Otherwise, display "The user ______ is not approved to access the system.".Â
In this case, the employee has access as "S. Gilmore" and not "S. Guillermo". Consequently, their username is sgilmore.
S. Guillermo is still struggling to access the system, even after using sgilmore as their username.
HR has asked me to collaborate with the logistics team that shipped the device to:
Reconfirm access for sgilmore.
Identify what device_id corresponds with the sgilmore username in our system.
I confirmed that sgilmore still has access and that the corresponding device_ID for the approved device is 4n482ts.
The logistics team confirmed that they sent the wrong device to S. Guillermo. The device they sent has a similar ID but with an "x" instead of an "s" at the end.
The logistics team has asked me to add a function that confirms when the username is correct but the device ID is not. However, the system should not confirm correct device IDs without submitting the correct usernames, due to security concerns.
This will help the logistics team with troubleshooting in the future.
This activity enforced the security principle of least privilege in the organization by using automation to assist with enforcing access control. It ensured that only authorized workers who are still at the company can access the corporate network and that only authorized devices can access the system. This is likely a zero trust network.
Maintaining updated log-in credentials is crucial. Many companies fail to disable accounts or log-in credentials after someone leaves the organization, thereby broadening their attack landscape and increasing the risk of attacks.