In this work, we present a systematic study of Side-Channel Attacks (SCA) and Fault Injection Attacks (FIA)

on structured lattice-based schemes, with main focus on Kyber Key Encapsulation Mechanism (KEM) and

Dilithium signature scheme, which are leading candidates in the NIST standardization process for PostQuantum Cryptography (PQC). Through our study, we attempt to understand the underlying similarities

and differences between the existing attacks while classifying them into different categories. Given the wide

variety of reported attacks, simultaneous protection against all the attacks requires to implement customized

protections/countermeasures for both Kyber and Dilithium. We therefore present a range of customized countermeasures, capable of providing defenses/mitigations against existing SCA/FIA, and incorporate several

SCA and FIA countermeasures within a single design of Kyber and Dilithium. Among the several countermeasures discussed in this work, we present novel countermeasures that offer simultaneous protection

against several SCA- and FIA-based chosen-ciphertext attacks for Kyber KEM. We implement the presented

countermeasures within two well-known public software libraries for PQC: (1) pqm4 library for the ARM

Cortex-M4-based microcontroller and (2) liboqs library for the Raspberry Pi 3 Model B Plus based on the

ARM Cortex-A53 processor. Our performance evaluation reveals that the presented custom countermeasures

incur reasonable performance overheads on both the evaluated embedded platforms. We therefore believe

our work argues for usage of custom countermeasures within real-world implementations of lattice-based

schemes, either in a standalone manner or as reinforcements to generic countermeasures such as masking.