Nasza strona używa cookies. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Microsoft ogłosił pracę nad nowym narzędziem do fuzz testingu

Microsoft ogłosił pracę nad nowym projektem o nazwie OneFuzz, który ma zapewnić łatwiejszy fuzz testing natywnego kodu przed jego wydaniem.
Microsoft ogłosił pracę nad nowym narzędziem do fuzz testingu

Microsoft jakiś czas temu ogłosił Project OneFuzz framework, czyli narzędzie open-source do wykrywania i naprawiania błędów na większą skalę za pomocą fuzz testingu. OneFuzz zostanie zautomatyzowany i zastąpi Microsoft Security and Risk Detection tool oraz będzie funkcjonował w Azure. Cały projekt jest oczywiście dostępny na GitHubie, a programiści Microsoftu, pracujący z Edge i Windowsem już teraz go używają.


Czym jest fuzz testing

Fuzz testing jest skuteczną metodą na znajdowanie i usuwanie luk w natywnym kodzie, które można potem wykorzystywać do tworzenia exploitów. Polega ona na wprowadzaniu dużej ilości przypadkowych danych, które określa się jako fuzz. Dane te mają w założeniu spowodować crash w kodzie/systemie. Jeżeli odnaleziona zostanie jakaś luka, to można użyć narzędzia o nazwie fuzzer do zidentyfikowania potencjalnej przyczyny błędu.

Metoda ta jednak może być jednak również szkodliwa, ponieważ, pomimo jej skuteczności w wykrywaniu wyżej wspomnianych zagrożeń, to jest ona jednak trudna w utrzymaniu i czasem ciężko wydobyć za jej pomocą pożądane informacje. Korzystanie z tego narzędzia jest ogólnie pożyteczne, ale bardzo kosztowne. 

Microsoft chce zatem umożliwić programistom łatwy i ciągły fuzz testing kodu przed jego wydaniem. Co więcej, gigant technologiczny utrzymuje, że globalna publikacja tego narzędzia wzmocni bezpieczeństwo platform, które używamy w naszej codziennej pracy. Firma twierdzi także, że ostatnie postępy w świecie kompilatorów (widoczne w otwartym LLVM i zapoczątkowane w Google) postawiły przed inżynierią bezpieczeństwa inne zadania związane z testowaniem natywnego kodu. 

Eksperymentalne wsparcie dla fuzz testingu jest też właśnie dodawane do Visual Studio. Co więcej, Microsoft twierdzi, że kiedy binarki testowe będą mogły być tworzone przez kompilatory, to współcześni developerzy staną przed wyzwaniem wbudowywania ich w pipeline CI/CD i skalowania nakładu pracy wynikającego z fuzz testingu w chmurze.


Możliwości OneFuzz

Oto, co m.in. będzie można zrobić za pomocą narzędzia OneFuzz:

  • Komponowalny workflow z fuzz testingiem: open source umożliwia użytkownikom dołączanie własnych fuzzerów, wymianę instrumentacji i zarządzanie danymi wejściowymi
  • Wbudowany ensemble fuzzing: domyślnie fuzzery pracują jako “zespół”. Dzielą się między sobą swoimi mocnymi stronami, wymieniając interesujące dane wejściowe między technologiami używanymi do fuzz testingu
  • Automatyczna selekcja i deduplikacja wyników: narzędzie to redukuje powielone przypadki błędów do pojedynczych, unikalnych wpisów
  • Fuzz w systemach operacyjnych Windows i Linux: OneFuzz to projekt wieloplatformowy. 


Więcej szczegółów można zobaczyć tutaj


Podsumowanie

Projekt OneFuzz jest teraz dostępny na GitHubie na podstawie licencji MIT. Obecny wkład w projekt mają członkowie Microsoft Research & Security Groups, zespołów pracujących nad Windowsem, ale Microsoft twierdzi, że wkład od społeczności open source jest również mile widziany. Firma zapewniła, że będzie dzielić się nowymi rzeczami, jak tylko one się pojawią.

Rozpocznij dyskusję

Lubisz dzielić się wiedzą i chcesz zostać autorem?

Podziel się wiedzą z 160 tysiącami naszych czytelników

Dowiedz się więcej