Mēs esam īstā programmatūras drošības problēma

Kāds kolēģis nesen aprakstīja jautru piektdienas vakaru savam pusaugu dēlam: palika mājās un tērzēja tiešsaistē. Ik pa laikam notiek ballīte, kurā visi viņa draugi runā savos klēpjdatoros.





Mēs arvien vairāk pierodam dzīvot šādās virtuālajās telpās, tomēr pastāv būtiska atšķirība starp virtuālajām telpām un faktiskajām fiziskajām telpām, kurās mēs staigājam. Mēs parasti sagaidām, ka varam iet pāri tiltam vai ēkā. bez konstrukcijas sabrukšanas. Mums nav tādas pārliecības par programmatūras programmām.

Neticiet, mēs ne tik tālā nākotnē varētu dzīvot pasaulē, kurā programmatūra nekļūdās nejauši un katastrofāli. Mūsu programmatūras sistēmas varētu izturēt uzbrukumus. Mūsu privātos sociālo mediju un veselības datus varēja redzēt tikai tie, kuriem ir atļauja tos skatīt. Viss, kas mums nepieciešams, ir pareizie labojumi.

Mūsdienu programmatūras problēma ir tā, ka mēs esam būvējuši savus debesskrāpjus, izmantojot tos pašus materiālus un paņēmienus, ko izmanto būdiņu celtniecībā. Programmatūra sākās kā ķieģeļu kolekcija: vienkāršas procedūras, komandu secības aprēķiniem, spēles un kuriozi. Desmitiem gadu vēlāk mums ir miljoniem procedūru, kas savstarpēji mijiedarbojas savstarpēji savienotās iekārtās ar piekļuvi visa veida slepenai informācijai. Tomēr mēs joprojām izmantojam līdzīgas valodas un rīkus.



Ja vēlamies, lai mūsu sistēmās būtu mazāk ievainojamību, mums ir jāizmanto labāki būvmateriāli. Valodas, kuras cilvēki lieto mūsdienās, programmētājam ir pārāk viegli kļūdīties, un tās padara kļūdas pārāk grūti atklāt.

Labāks veids būtu izmantot valodas, kas sniedz mums vajadzīgās garantijas. Heartbleed ievainojamība radās, jo kāds aizmirsa pārbaudīt, vai atmiņas daļa beidzas tur, kur tai vajadzēja. Tas varētu notikt tikai programmēšanas valodā, kurā programmētājs ir atbildīgs par atmiņas pārvaldību. Tātad, kāpēc neizmantot valodas, kas automātiski pārvalda atmiņu? Kāpēc gan nelikt programmēšanas valodām veikt smagus darbus?

Vēl viens veids būtu atvieglot programmatūras analīzi. Facebook bija tik daudz problēmu, lai saprastu izmantoto programmatūru, ka tas izveidoja Hack and Flow — PHP un Javascript anotētas versijas, lai padarītu abas valodas saprotamākas.



Daļēji tā ir mūsu pašu vaina. Dzīve tiešsaistē mums šķiet jautra, tāpēc mēs mēdzam ļaut vietnēm ar mūsu personas datiem darīt visu, ko tās vēlas. Programmatūras uzņēmumi reaģē, pēc iespējas ātrāk ieviešot jaunas funkcijas, izmantojot ērtākos materiālus un rīkus uz drošības rēķina.

Izmaiņas nenotiks, kamēr mēs nepieprasīsim, lai tās notiktu. Mūsu programmatūra varētu būt tikpat labi izveidota un uzticama kā mūsu ēkas. Lai tas notiktu, mums visiem ir jāvērtē tehniskā stabilitāte, nevis novitāte. Mūsu ziņā ir nodrošināt, lai dzīve tiešsaistē būtu tikpat droša, cik patīkama.

Žans Jans ir Kārnegija Melona universitātes datorzinātņu docents un Kiberdrošības rūpnīcas līdzdibinātājs, kas ir paātrinātājs, kas koncentrējas uz programmatūras drošību.



paslēpties