Shellshock

Shellshock, tuntud ka kui Bashdoor, on UNIX-i käsureaprotsessori Bash-i turvaauk, mille avastas Stéphane Chazelas. Turvaauk võimaldab meelevaldse koodi täitmist ning seeläbi on ründajal võimalik saada täielik kontroll haavatava arvuti üle. Turvaaugu ekspluateerimiseks pole ründajal vaja mingeid arvestatavaid eelteadmiseid ega oskuseid. Seetõttu suutsid ründajad vaid tunde pärast turvaaugu avaldamist seda ekspluateerida luues robotvõrke(Ingl k. botnet), mis koosnesid haavatavatest arvutitest ning teostasid teenusetõkestamise ründeid või skaneerisid teisi haavatavaid masinaid. Laiemale avalikkusele tehti turvaauk teatavaks 24. septembril 2014 ning koos sellega tehti kättesaadavaks ka paik(Ingl k. patch). Levinud turvariskide ja haavatavuste nimekirjas viitab esimesena antud turvaaugule identifikaator CVE-2014-6271 ja lisaks teised hiljem avastatud turvaaugud CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187. Käesolev programmiviga põhjustab Bash-i tahtmatult käivitama käske, kui käsud on aheldatud funktsiooni definitsioonide lõppu, mis asuvad keskkonnamuutujate välja sisus. Näiteks järgneva käsu näitel: $ env variable=’() { :; }; /bin/eject’ Annab ”env” märku, et tegemist on keskkonnamuutujaga ning funktsiooni definitsioonile järgnev käsk “/bin/eject”, mis antud juhul on lihtne käsk avada CD või DVD lugeja, täidetakse. Täidetava käsu saab ründaja asendada muidugi talle meelepärasega. Suureks ohuks on antud turvaauk veebiserveritele, mis kasutavad Bash-i, sest lisaks andmetele on ründajal võimalik saada kontroll ka veebiserveri enda üle, mis omakorda võimaldab ründajal teoreetiliselt võtta oma kontrolli alla antud võrguga ühendatud arvutid. Valdav enamus tuvastatud rünnakutest kasutas [üldist lüüsliidest], mis määrab ära selle, kuidas veebiserver edastab kasutaja nõude antud veebiserveris jooksvale programmile töötlemiseks ning võtab vastu töötlemistulemuse, mis saadetakse tagasi kasutajale. Kõigil Bash-i kasutavatel masinatel saab diagnoosida turvaaugu suhtes haavatavust järgmise käsuga: export VULNCHECK='() { :; }; echo You are still vulnerable'; bash Kui antud masin on haavatav kuvatakase järgnev sõnum: "You are still vulnerable" Süsteem, milles kasutatav Bash-i versioon sisaldab paika antud turvaaugu vastu, kuvab järgmised kaks veateadet: bash: warning: VULNCHECK: ignoring function defintion attempt bash: error importing function definition for `VULNCHECK Haavatavuse peamiseks põhjuseks on Bash-i vigane sõne “() { :; };” interpreteerimine. Turvaaugu parandamiseks loodi Bash-i lähtekooodi kaks uut lippu SEVAL_FUNCDEF ja SEVAL_ONECMD, millest esimese ülesandeks on lubada ainult funktsiooni definitsiooni ja teisel ainult ühte käsku. Seejärel lisati olemasolevale meetodile parse_and_execute võime kontrollida antud lippe. Süsteemi haavatavuse korral antud turvaaugu poolt tuleks uuendada Bash-i (versioon 4.4 või uuem), et tagada süsteemi turvalisus. Seltzer, Larry. "Shellshock makes Heartbleed look insignificant". ZDNet. 29.09.2014. Vaadatud 29.01.2020 Bash vulnerability affecting web servers and many other services. Detectify labs. 2014. Vaadatud 28.01.2020. Vulnerability Details : CVE-2014-6271. https://www.cvedetails.com/cve/CVE-2014-6271/ Vaadatud 29.01.2020 J. ​Graham-Cumming​. ​Inside Shellshock: How hackers are using it to exploit systems. Cloudflare. 2014. https://blog.cloudflare.com/inside-shellshock/ Vaadatud 29.01.2020 "Bash specially-crafted environment variables code injection attack". Red Hat Security. Vaadatud 29.01.2020 Where is Bash Shellshock vulnerability in source code? Information Security. 2015. Vaadatud 30.01.2020 CVE-2014-6271 Detail. https://nvd.nist.gov/vuln/detail/CVE-2014-6271 Vaadatud 29.01.2020