HyperGI: Automated Detection and Repair of Information Flow Leakage
This addresses a persistent security issue for software developers by enabling automated repair of information leaks, though it is incremental as it builds on existing genetic improvement techniques.
The paper tackles the problem of automatically detecting and repairing information flow leakage in software, presenting HyperGI, a genetic improvement framework that successfully patches programs without failing functional tests.
Maintaining confidential information control in software is a persistent security problem where failure means secrets can be revealed via program behaviors. Information flow control techniques traditionally have been based on static or symbolic analyses -- limited in scalability and specialized to particular languages. When programs do leak secrets there are no approaches to automatically repair them unless the leak causes a functional test to fail. We present our vision for HyperGI, a genetic improvement framework tha detects, localizes and repairs information leakage. Key elements of HyperGI include (1) the use of two orthogonal test suites, (2) a dynamic leak detection approach which estimates and localizes potential leaks, and (3) a repair component that produces a candidate patch using genetic improvement. We demonstrate the successful use of HyperGI on several programs which have no failing functional tests. We manually examine the resulting patches and identify trade-offs and future directions for fully realizing our vision.