Kontakt z nami

Pokonanie najważniejszych wyzwań związanych z bezpieczeństwem związanych z tworzeniem oprogramowania z małą ilością kodu lub bez kodu w oparciu o sztuczną inteligencję

Liderzy myśli

Pokonanie najważniejszych wyzwań związanych z bezpieczeństwem związanych z tworzeniem oprogramowania z małą ilością kodu lub bez kodu w oparciu o sztuczną inteligencję

mm

Platformy programistyczne o niskim kodzie Zmieniły sposób, w jaki ludzie tworzą niestandardowe rozwiązania biznesowe, w tym aplikacje, przepływy pracy i programy typu „copilot”. Narzędzia te wspierają programistów-obywateli i tworzą bardziej elastyczne środowisko do tworzenia aplikacji. Wprowadzenie sztucznej inteligencji (AI) dodatkowo wzmocniło te możliwości. Fakt, że w organizacji brakuje osób posiadających umiejętności (i czas) do tworzenia aplikacji, automatyzacji itp., niezbędnych do napędzania innowacji, doprowadził do powstania paradygmatu „low-code/no-code”. Teraz, bez konieczności formalnego szkolenia technicznego, programiści-obywatele mogą wykorzystywać przyjazne dla użytkownika platformy i sztuczną inteligencję generatywną (Generative AI), aby tworzyć, wprowadzać innowacje i wdrażać rozwiązania oparte na AI.

Ale jak bezpieczna jest ta praktyka? Rzeczywistość jest taka, że ​​wprowadza ona szereg nowych zagrożeń. Oto dobra wiadomość: nie musisz wybierać między bezpieczeństwem a wydajnością, jaką zapewniają innowacje oparte na biznesie.

Przejście poza tradycyjne kompetencje

Zespoły IT i bezpieczeństwa są przyzwyczajone do skupiania swoich wysiłków na skanowanie i wyszukiwanie luk zapisanych w kodzie. Skupili się na upewnieniu się, że programiści tworzą bezpieczne oprogramowanie, upewnieniu się, że jest ono bezpieczne, a następnie – po wejściu do środowiska produkcyjnego – monitorowaniu go pod kątem odchyleń lub jakichkolwiek podejrzanych po fakcie.

Z wzrost niskiego kodu i braku koduwięcej osób niż kiedykolwiek tworzy aplikacje i wykorzystuje automatyzację do tworzenia aplikacji – poza tradycyjnym procesem programowania. Często są to pracownicy, którzy nie mają żadnego doświadczenia w tworzeniu oprogramowania, a aplikacje te są tworzone poza kompetencjami bezpieczeństwa.

Stwarza to sytuację, w której dział IT nie buduje już wszystkiego dla organizacji, a zespołowi ds. bezpieczeństwa brakuje widoczności. W dużej organizacji w ciągu roku możesz stworzyć kilkaset aplikacji w drodze rozwoju zawodowego; przy niskim/braku kodu możesz uzyskać znacznie więcej. To wiele potencjalnych aplikacji, które mogą pozostać niezauważone lub niemonitorowane przez zespoły ds. bezpieczeństwa.

Bogactwo nowych zagrożeń

 Niektóre z potencjalnych problemów związanych z bezpieczeństwem związanych z programowaniem z małą ilością kodu/bez kodu obejmują:

  1. Nie leży to w kompetencjach IT – jak już wspomniano, programiści obywatelscy pracują poza granicami specjalistów IT, co powoduje brak widoczności i rozwój aplikacji cienia. Dodatkowo narzędzia te umożliwiają nieskończonej liczbie osób szybkie tworzenie aplikacji i automatyzacji za pomocą zaledwie kilku kliknięć. Oznacza to, że niezliczona liczba aplikacji jest tworzona w zawrotnym tempie przez niezliczoną liczbę osób, a dział IT nie ma pełnego obrazu sytuacji.
  2. Nie cykl życia oprogramowania (SDLC) – Tworzenie oprogramowania w ten sposób oznacza brak SDLC, co oprócz ryzyka może prowadzić do niespójności, zamieszania i braku odpowiedzialności.
  3. Początkujący programiści – aplikacje te są często tworzone przez osoby z mniejszymi umiejętnościami technicznymi i doświadczeniem, co stwarza ryzyko błędów i zagrożeń bezpieczeństwa. Niekoniecznie myślą o konsekwencjach związanych z bezpieczeństwem lub rozwojem w taki sposób, w jaki zrobiłby to profesjonalny programista lub ktoś z większym doświadczeniem technicznym. Jeśli w konkretnym komponencie wbudowanym w dużą liczbę aplikacji zostanie wykryta luka, może ona zostać wykorzystana w wielu przypadkach
  4. Złe praktyki dotyczące tożsamości – zarządzanie tożsamością również może stanowić problem. Jeśli chcesz umożliwić użytkownikowi biznesowemu zbudowanie aplikacji, głównym powodem, dla którego może to być niemożliwe, jest brak uprawnień. Często da się to obejść, a wówczas użytkownik może posługiwać się tożsamością innej osoby. W takim przypadku nie ma sposobu, aby ustalić, czy zrobił coś złego. Jeśli uzyskasz dostęp do czegoś, do czego nie masz uprawnień lub spróbujesz zrobić coś złośliwego, systemy bezpieczeństwa będą szukać tożsamości pożyczonego użytkownika, ponieważ nie ma sposobu, aby je rozróżnić.
  5. Brak kodu do skanowania — powoduje to brak przejrzystości, który może utrudniać rozwiązywanie problemów, debugowanie i analizę bezpieczeństwa, a także potencjalne problemy związane ze zgodnością i przepisami.

Wszystkie te zagrożenia mogą przyczynić się do potencjalnego wycieku danych. Niezależnie od tego, jak zbudowana jest aplikacja – czy zostanie zbudowana za pomocą metody „przeciągnij i upuść”, podpowiedzi tekstowej czy kodu – ma ona tożsamość, ma dostęp do danych, może wykonywać operacje i musi się komunikować z użytkownikami. Dane są przenoszone, często pomiędzy różnymi miejscami w organizacji; może to łatwo przełamać granice lub bariery danych.

Zagrożona jest także prywatność danych i zgodność z przepisami. Wrażliwe dane znajdują się w tych aplikacjach, ale są obsługiwane przez użytkowników biznesowych, którzy nie wiedzą (ani nawet nie myślą), jak je prawidłowo przechowywać. Może to prowadzić do wielu dodatkowych problemów, w tym naruszeń zasad zgodności.

Odzyskanie widoczności

Jak wspomniano, jeden z dużym wyzwaniem związanym z małą ilością kodu/żadnym kodem jest to, że nie leży to w kompetencjach IT/bezpieczeństwa, co oznacza, że ​​dane przepływają przez aplikacje. Nie zawsze wiadomo, kto tak naprawdę tworzy te aplikacje, i ogólnie brak jest wglądu w to, co się naprawdę dzieje. I nie każda organizacja jest nawet w pełni świadoma tego, co się dzieje. Lub uważają, że w ich organizacji nie zachodzi rozwój obywatelski, chociaż prawie na pewno tak jest.

Jak zatem liderzy ds. bezpieczeństwa mogą uzyskać kontrolę i ograniczyć ryzyko? Pierwszym krokiem jest przyjrzenie się inicjatywom na rzecz rozwoju obywatelskiego w Twojej organizacji, dowiedzenie się, kto (jeśli ktoś) kieruje tymi wysiłkami i nawiązanie z nimi kontaktu. Nie chcesz, aby te zespoły czuły się karane lub utrudniane; jako lider ds. bezpieczeństwa Twoim celem powinno być wspieranie ich wysiłków, ale jednocześnie zapewnianie edukacji i wskazówek, jak uczynić ten proces bezpieczniejszym.

Bezpieczeństwo musi zaczynać się od widoczności. Kluczem do tego jest utworzenie spisu aplikacji i zrozumienie, kto co buduje. Posiadanie tych informacji pomoże Ci mieć pewność, że w przypadku wystąpienia jakiegoś naruszenia będziesz mógł prześledzić kroki i dowiedzieć się, co się stało.

Ustal ramy tego, jak wygląda bezpieczny rozwój. Obejmuje to niezbędne zasady i kontrole techniczne, które zapewnią użytkownikom dokonanie właściwych wyborów. Nawet profesjonalni programiści popełniają błędy, jeśli chodzi o wrażliwe dane; jeszcze trudniej jest to kontrolować w przypadku użytkowników biznesowych. Jednak dzięki odpowiednim kontrolom możesz utrudnić popełnienie błędu.

W stronę bezpieczniejszego kodu z niskim kodem/bez kodu

Tradycyjny proces ręcznego kodowania utrudnia innowacje, szczególnie w konkurencyjnych scenariuszach czasu wprowadzenia produktu na rynek. Dzięki dzisiejszym platformom z małą ilością kodu i bez kodu nawet osoby bez doświadczenia programistycznego mogą tworzyć rozwiązania oparte na sztucznej inteligencji. Chociaż usprawniło to tworzenie aplikacji, może również zagrozić bezpieczeństwu organizacji. Nie musi to jednak być wybór między rozwojem obywatelskim a bezpieczeństwem; liderzy bezpieczeństwa mogą współpracować z użytkownikami biznesowymi, aby znaleźć równowagę dla obu.

Michael jest współzałożycielem i dyrektorem technicznym firmy Zenity. Jest ekspertem branżowym w zakresie cyberbezpieczeństwa zainteresowanym chmurą, SaaS i AppSec. Przed dołączeniem do Zenity Michael był starszym architektem w biurze CTO Microsoft Cloud Security, gdzie założył i kierował pracami nad produktami zabezpieczającymi dla IoT, interfejsów API, IaC i przetwarzania poufnego. Michael przewodzi wysiłkom społeczności OWASP w zakresie bezpieczeństwa z małą ilością kodu/bez kodu.