Nytt säkerhetshot – trojaner och farlig kod döljs i källkod och läses in av kompilatorer

av | nov 2, 2021 | Säkerhet

Nu används en ny teknik och ett nytt sätt för att försöka sprida trojaner. Koden för dessa farliga dataprogram döljs i källkod och kompilatorer för att utvecklare sedan ska luras att ta med koden i sina program.

Poängen är att få in den farliga koden redan på utvecklingsstadiet, i källkoden, vilket kan göra en trojan svårare att upptäcka men också att ge den mer och bredare spridning.

The trick is to use Unicode control characters to reorder tokens in source code at the encoding level.
These visually reordered tokens can be used to display logic that, while semantically correct, diverges from the logic presented by the logical ordering of source code tokens. Compilers and interpreters adhere to the logical ordering of source code, not the visual order.
The attack is to use control characters embedded in comments and strings to reorder source code characters in a way that changes its logic.

Trojan Source Codes

Unicode

För att inte bli alltför teknisk och komplicerad så handlar det om att använda vissa tecken, se till att koden ligger logiskt upplagd – utan att det ska vara för uppenbart vad koden egentligen gör. Koden kan sedan döljas i Öppen Källkod (Open Source) och i bibliotek och tillägg som används vid utveckling av mjukvara, för att ta två exempel. Koden kan även döljas i kommersiella program, tillägg och funktioner som kan köpas för att användas i appar och program. Med hjälp av det som kallas Unicode så visas ofarlig kod medan kompilatorn – det verktyg som används för att skapa exekverar kod ser och tar med den farliga koden, trojanen. Unicode används för att datorer ska kunna använda information oavsett vilket programmeringsspråk som används. Granskas koden av en utvecklare så ser koden ofarlig ut. Detsamma om kod klipps ut och klistras in av en utvecklare – den kod som visas ser ofarlig ut medan den farliga koden är det som klistras in.

“Therefore, by placing Bidi override characters exclusively within comments and strings, we can smuggle them into source code in a manner that most compilers will accept. Our key insight is that we can reorder source code characters in such a way that the resulting display order also represents syntactically valid source code.”
“Bringing all this together, we arrive at a novel supply-chain attack on source code. By injecting Unicode Bidi override characters into comments and strings, an adversary can produce syntactically-valid source code in most modern languages for which the display order of characters presents logic that diverges from the real logic. In effect, we anagram program A into program B.”

Säkerhetsproblem

De säkerhetsproblem som nu har identifierats finns i C, C++, C#, JavaScript, Java, Rust, Go och  Python – alla de stora programmeringsspråken. Säkerhetsforskarnas rapport har publicerat i samarbete med 19 organisationer och företag för att kunna samordna distributionen av buggfixar och säkerhetsfixar samtidigt som informationen offentliggörs.

KrebsonSecurity

0 kommentarer


Mikael Winterkvist

Fyrabarns-far, farfar, morfar och egen företagare i Skellefteå med kliande fingrar. Jag skriver om fotografering, sport, dataprylar, politik, nöje, musik och film. Vid sidan av den här bloggen så jobbar jag med med det egna företaget Winterkvist.com. Familjen består av hustru, fyra barn (utflugna) och fem barnbarn.

Jag har hållit på med datorer sedan tidigt 1980-tal och drev Artic BBS innan Internet knappt existerade. Efter BBS-tiden har det blivit hemsidor, design, digitala medier och trycksaker. Under tiden som journalist jobbade jag med Mac men privat har det varit Windows som har gällt fram till vintern 2007. Då var det dags att byta och då bytte vi, företaget, helt produktionsplattform till macOS. På den vägen är det.

_____________________________________________________________________________________

Anmäl dig till Magasin Mackens nyhetsbrev

Du får förhandsinformation om Macken, våra planer och du får informationen, först och direkt till din mail. Vi lovar att inte skicka din information vidare och vi lovar att inte skicka ut mer än max ett nyhetsbrev per månad.

Anmäl dig här

_____________________________________________________________________________________