Vi presenterar ett system, SIFT, för att generera inmatningsfilter som nollställer heltalsspillfel i samband med kritiska programplatser såsom minnesallokering eller blockkopieringsplatser. SIFT använder en statisk programanalys för att generera filter som kasserar ingångar som kan utlösa heltalsspillfel i beräkningarna av storleken på tilldelade minnesblock eller antalet kopierade byte i blockkopieringsåtgärder. Till skillnad från alla tidigare tekniker som vi är medvetna om, SIFT är ljud -om en ingång passerar filtret, kommer det inte att utlösa ett heltalspill fel på någon analyserad plats. Våra resultat visar att SIFT framgångsrikt analyserar (och genererar därför ljudinmatningsfilter för) 56 av 58 minnesallokerings- och blockminneskopior i analyserade ingångsmoduler från fem applikationer (VLC, Dillo, Swfdec, Swftools, och GIMP). Dessa ogiltiga fel inkluderar sex kända heltal överflöd sårbarheter. Våra resultat visar också att tillämpa dessa filter till 62895 real-world ingångar ger inga falska positiva. Analysen och filtergenereringstiderna är alla mindre än en sekund.
Med början med kritiska programplatser såsom minnesallokering eller blockera kopieringsplatser, analyserar ljudinmatningsfiltergenerering REF statiskt programmet för att generera filter som säkerställer att alla indata som skickas till programmet inte kommer att utlösa ett fel på den platsen.
Sound input filter generation for integer overflow errors
{'venue': "POPL '14", 'journal': None, 'mag_field_of_study': ['Computer Science']}