The mission of an automated application includes requirements not only for its functionality but for a variety of software quality attributes such as performance, reliability, and security. The advent of highly distributed applications in unbounded networks such as the Internet provides opportunities for new applications and improved capability in existing applications, but at the same time introduces new levels of complexity and risk. Moreover, traditional design methods and implementation techniques are often ineffective in the context of unbounded systems particularly as related to security and infrastructure assurance. Such applications also impose new demands for survivability and trust. This course examines the characteristics of highly distributed applications in unbounded systems, limitations of traditional security approaches, new alternatives now being developed, and implications for critical national infrastructures.