RGB Keyboard Covert Channel Implementation
Brendan McGlynn, Ian Stroszeck, Wyatt Tauber
Covert channels exist best in benign environments, where information can be secretly passed from one person to another without raising suspicion. With the ubiquity of RGB peripherals in everyday life, especially among gamers, RGB keyboards make an excellent medium for hiding a covert channel in -- among all of the flashing, colored lights. This paper presents a Razer Chroma Covert Channel (RC3), a covert channel that uses the individual LEDs under each key to transmit and read encoded information, which we then scored using an evaluation framework consisting of transition methods (how to receive the data), bandwidth, accuracy, ease-of-use, and covertness. From our testing, we determined that using the ChromaEffects profile resulted in the largest bandwidth, as each key could hold up to 3 distinct ASCII values (one for each color), while also remaining easy to use, 100% accurate, and relatively undetectable. The other implementations tested varied in these categories.
10/4/2021 Initial Idea Presentation
10/20/2021 Progress Update Presentation
Open the ChromaEffects file, parse the XML, and save the new ChromaEffects file with the parsed XML:
./processing.py <ChromaEffects file>