Title: Embedded Security Analysis Task: Side Channel Analysis and Fault Injection Objective: The objective of this task is to assess your ability to work with Python tools, C programming, Computer Architecture, and apply side channel analysis and fault injection techniques to uncover a hidden flag embedded within an ELF file compiled for an STM32 processor. You will use the Lascar and Rainbow tools from Ledger's repository to analyze the binary and retrieve the hidden flag. Requirements: 1. Proficiency in Python programming. 2. Basic understanding of side channel analysis and fault injection concepts. 3. Familiarity with ELF file format and embedded systems. Task Description: Setup and Familiarization: 1. Clone the Ledger's repository containing Lascar and Rainbow tools. 2. Install the necessary dependencies and set up the environment as per the provided documentation. 3. Review the documentation and examples to understand how Lascar and Rainbow tools are used for side channel analysis and fault injection. Binary Analysis: 1. You will be provided with an ELF file compiled for an STM32 processor. 2. Study the provided stubbed source code for the binary to understand its functionality and potential vulnerabilities. Side Channel Analysis/ Fault Injection: 1. Choose a specific side channel analysis technique or fault injection technique based on your analysis of the binary. 2. Implement the chosen technique using Lascar or Rainbow tools to extract information from the binary. 3. Document your approach, code snippets, and any findings from the side channel analysis. 4. Provide a detailed explanation of your fault injection methodology, along with relevant code snippets and observations. Flag Retrieval: 1. Apply the insights gained from side channel analysis and fault injection to uncover the hidden secret embedded within the binary. 2. Document the process you followed to successfully retrieve the secret. 3. Provide the extracted secret as proof of completion. Evaluation Criteria: You will be evaluated based on the following criteria: 1. Understanding of side channel analysis and fault injection concepts. 2. Proficiency in understanding the assignment and applying conceptual knowledge in practice. 3. Explanation of the approach taken. 4. Successful retrieval of the hidden flag. Submit all scripts, analysis, images, documentation in form of a zip file directly to Cypherock.