Start course

This is the fourth course in Domain 3 of the CSSLP certification and covers the essential ideas, concepts, and principles that you need to take into account when building secure software.

Learning Objectives

  • Understand the process and controls available to secure your software
  • Learn about the main security technologies available

Intended Audience

This course is intended for anyone looking to develop secure software as well as those studying for the CSSLP certification.


Any experience relating to information security would be advantageous, but not essential. All topics discussed are thoroughly explained and presented in a way allowing the information to be absorbed by everyone, regardless of experience within the security field.


We have, of course, the seemingly ubiquitous firewall. This device, which is software sitting usually at a boundary layer between a trusted and untrusted enclave, typically falls into one of four generally described generations of function. Generation one would be a static packet filter, usually built on a router, the rules would block small numbers of attributes that would be used to define hostile or allowed traffic.

A generation two would be a proxy type, which typically sits across a boundary layer, breaking the logical connection and again, acting as a packet filter, based on a great deal of granular rules. Generation three brought the stateful inspection type into existence, which used even more sophisticated filtration techniques and then, we have the generation X. A not very strictly defined, but one that brings in even more advanced stateful inspection by incorporating the elements of artificial intelligence and machine learning, to advance its functionality even further.

Now, there are various architectures which exist and often act to complicate where these are placed, but are often employed in multiple layers to reflect the defense in depth strategy. So the proxies themselves act as middlemen between internal trusted networks and the outside untrusted ones. So a packet, when it arrives at a proxy firewall, the firewall terminates the connection from the source and acts as a proxy. That is, it stands in your place. For the destination, inspects the packet to ascertain that it's safe before forwarding the packet on to its destination.

Significantly, there is a high degree of filtration logic that a proxy can have, and we have to bear in mind that it also breaks the logical connection to ensure that filtration is performed. Now when the destination system responds, the packet is sent back to the proxy firewall, which will repackage the packet with its own source address and abstract the address of the internal destination of the host system, thus obscuring its genuine position.

Proxy firewalls will also make decision, as do packet filtering firewalls. The proxy firewalls don't allow connection directly between trusted and untrusted sources. Application firewalls are programmed to mediate traffic primarily to web-based applications. Now the configuration options permit security over external threats and bad acting applications and this is a unique feature to application firewalls. They often will use machine learning and artificial intelligence to improve their performance through the various learning patterns.

About the Author
Learning Paths

Mr. Leo has been in Information System for 38 years, and an Information Security professional for over 36 years.  He has worked internationally as a Systems Analyst/Engineer, and as a Security and Privacy Consultant.  His past employers include IBM, St. Luke’s Episcopal Hospital, Computer Sciences Corporation, and Rockwell International.  A NASA contractor for 22 years, from 1998 to 2002 he was Director of Security Engineering and Chief Security Architect for Mission Control at the Johnson Space Center.  From 2002 to 2006 Mr. Leo was the Director of Information Systems, and Chief Information Security Officer for the Managed Care Division of the University of Texas Medical Branch in Galveston, Texas.


Upon attaining his CISSP license in 1997, Mr. Leo joined ISC2 (a professional role) as Chairman of the Curriculum Development Committee, and served in this role until 2004.   During this time, he formulated and directed the effort that produced what became and remains the standard curriculum used to train CISSP candidates worldwide.  He has maintained his professional standards as a professional educator and has since trained and certified nearly 8500 CISSP candidates since 1998, and nearly 2500 in HIPAA compliance certification since 2004.  Mr. leo is an ISC2 Certified Instructor.

Covered Topics