Purdue University: Big Data for Reliability and Security
This course teaches the principles and practices of big data for improving the reliability and the security of computing systems. It exemplifies the principles through real-world examples and provides challenging programming problems based on novel datasets.
Big Data for Reliability and Security
About this courseSkip About this course
This course teaches the principles and practices of big data for improving the reliability and the security of computing systems. Big data is a technology that is changing the way we do business and the way we play. As there is a tremendous growth in data being collected about every process and product in operation, there is value to be mined from this abundance of data. This means that big data is being applied in areas where there is great commercial advantage to be had, and consequently, attacks and failures have become a serious concern.
This course asks and answers the question: Can big data be used to improve the reliability and the security of the processes that we rely on in our work and personal lives? Do big data techniques introduce new vulnerabilities that we should be aware of as we adopt big data practices in so many aspects of our lives? And what kinds of mitigations can be designed and deployed against such vulnerabilities?
The course is taught by a leading researcher in reliability and security and an award-winning teacher.
The course has a practical bent and introduces only the necessary theory and in the context of its application to today’s industrial big data context. The principles are exemplified through popular big data frameworks, such as, Apache Spark and Spark Streaming, Flink, Mesos, and containers.
The course first lays out the problem landscape in the context of upsurge of data and its implications for reliability and for security. Then it describes how we can measure the relevant attributes. Next, it looks at the application-driven requirements and constraints for applying big data for reliability and security. Then it presents how the data can be processed for improving the resilience of the processes that depend on the data. It delves into a set of techniques for defending big data techniques against natural failures (the reliability aspect) and against malicious attacks (the security aspect).
The different aspects are tied together through a set of challenge programming projects that are based on novel datasets that we have collected and curated.
At a glance
What you'll learnSkip What you'll learn
- Formulate the reliability and the security requirements of a production system
- Understand and develop big data techniques for improving reliability and security of computing systems
- Construct software artifacts to instantiate the techniques for real-world datasets and under realistic conditions
- Applications of Big Data Analytics and Reliability and Security
- Big Data Processing
- System-Level View of Dependable Design
- Real-World Examples of Failures
- Terminology of Dependable Systems
- Attributes of Dependability Systems
- Means to Achieve Dependability
- Three Different Impairments in a System
- Fault Cycle
- Infrastructure Security
- Data Privacy
- Data Management and Data Monitoring
- Big Data Security Framework
- Centralization and De-Centralization
- Pre-Processing for Security
- Unsupervised Learning
- Robustness of Machine Learning Models
- Linear SVM and Binary Classifications
- Non-Linear SVM
- Pipeline to Apply Non-Linear SVM
- Introduction to Neural Network and Canonical Use
- Neural Network
- Use of Neural Network in Computer Systems
- How to Avoid Overfitting?
- Test Set Method
- Leave One Out Cross Validation (LOOCV)
- K-Fold Cross Validation
- Recap of Various Learning Techniques
- Adversarial ML
- Adversarial Evasion Attacks
- Defense Against Attacks
- Addressing Overfitting
- Bias-Variance Tradeoff
- Regression with Regularization
- Avoid Overfitting- Penalty Function
- Which One to Choose Between Ridge and Lasso Regression
- Feature Engineering
- Significant Feature Engineering Techniques
- Feature Extraction Concept
- Principal Component Analysis (PCA)
- Basics of Federated Learning
- Federated Learning in Practice
- Aggregation in Federated Learning
- Secure Aggregation
- Krum and Bulyan Secure Aggregation
- Model Poisoning Attack
- Defense Against Model Poisoning Attack
- Threat Model and Comparison of FL with Distributed Computing
- Differential Privacy