From the course: CompTIA CySA+ (CS0-002) Cert Prep: 4 Software and Systems Security

Software platforms

- [Instructor] When we evaluate the security of software, we must think about that software in the context of the platform where it runs. The platform hosts the operating system that provides access to resources, and it's a crucial component of the software security environment. The most basic software execution environment is a simple endpoint device. In these cases, a software program runs entirely on a desktop or laptop system and doesn't interact with any other systems. For example, if you open the Calculator application on your laptop, you're running software that is entirely self contained on that device. Most business applications run in some kind of client-server environment. In a client-server system, the endpoint acts as the client and runs some software that interacts with other software running on a server. A common example of client-server computing is the use of database servers. You might run a client application such as Microsoft Excel on your laptop, but then link your spreadsheet to a database server where it retrieves corporate information. That's one example of client-server computing. Web applications are another example of client-server computing. In a web application, the end user runs a web browser as the client on their endpoint device, and that web browser reaches out to web servers around the world to gather information requested by the user. Mobile endpoints are very common in most environments, and in some cases, outnumber other types of endpoint devices for access to some applications. Mobile devices run their own operating system, such as iOS or Android, and then run applications on top of that operating system that can be simple endpoint applications or may run using a client-server approach. There are also quite a few specialized endpoint devices, such as the embedded devices and systems on a chip that power vehicles, industrial systems, and other Internet of Things applications. These specialized endpoints may store their software applications in firmware, where it is quickly and readily accessible.

Contents