Presentation is loading. Please wait.

Presentation is loading. Please wait.

` Research 2: Information Diversity through Information Flow Subgoal: Systematically and precisely measure program diversity by measuring the information.

Similar presentations


Presentation on theme: "` Research 2: Information Diversity through Information Flow Subgoal: Systematically and precisely measure program diversity by measuring the information."— Presentation transcript:

1 ` Research 2: Information Diversity through Information Flow Subgoal: Systematically and precisely measure program diversity by measuring the information flow generated by unique inputs. Insight: Attacks and defects have unique information flow signatures. Conversely, bug fixes exhibit information flows that differ in a significant manner from the original program Status: Status: Dynamic Information Flow Tracking infrastructure is complete and is being unit tested, x86 instruction set is 15% instrumented. Approach: Extend our existing platforms by further examining biological factors Systems contain more errors and are more prone to attack than ever. The balance of power favors the attacker:  Software replicates are all vulnerable to the same attack.  System complexity precludes rapid repair. We must rethink the current cybersecurity paradigm. Subgoal: Develop models and simulations to understand Scalable RADAR principles and adapt them to computation, specifically to improve our existing techniques. Scalable RADAR for Co-evolutionary Adaptive Environments Wes Weimer Stephanie Forrest (PI)Jed CrandallMelanie Moses Biological systems search complex spaces without a “leader.” Biological Principles Insight Cells respond to environmental signals automatically. Research 1: Evolutionary Program Repair Mutational Robustness and Proactive Diversity process and attempt to fix 105 indicative bugs found in existing programs. Subgoal: Apply evolutionary repair to known bugs in real-world programs totaling over 5 million lines of code and 10,000 test cases. Problem Animal immune systems can defeat multiple, adaptable adversaries. Adapt Scalable RADAR to a new, clean-slate paradigm for software development/maintenance. Demonstrate large, complex software systems that:  automatically detect attacks  repair themselves  evolve a diversity of solutions. Goal Evaluating Diversity Distributed Repair Study of the Immune System Immune systems are composed of millions of cells. Redundancy, diversity, “wisdom of the crowd.” Genes, cells, systems adapt over multiple time scales. Software is a complex, evolving system. Research 3: Simulation and Modeling ProgramLOCRepaired / Total fbc 97k1 / 3 gmp 145k1 / 2 gzip 491k1 / 5 libtiff 77k17 / 24 lighttpd 62k5 / 9 php 1,046k28 / 44 python 407k1 / 11 wireshark 2,814k1 / 7 total5,139k55 / 105 Systematic Study of Cost and Generality Subgoal 1: Examine whether there is a computational analog for biological mutational robustness and thus quantify the ability of random changes to produce variants that retain specified program behavior. Subgoal 2: Use mutational robustness to proactively fix unknown bugs while retaining functionality. Question 1: How much do inflammatory search signals speed up immune repair? Answer: Biologically, as the size of the search space increases, the effect of signals improves performance by orders of magnitude. Question 2: How much does the structure of the lymphatic system speed up repair? Answer: There is a trade- off between many small nodes and few large nodes – rate of distribution of repairs vs. speed of recruitment of new repairs. We replicate optimal immune network structure to distribute repairs. Question: What effect does diversity have on vulnerability? Answer: Diversity decreases with increased connectivity and communication. Diversity decreases network vulnerability, even when it increases individual vulnerability. Example: Despite larger individual vulnerabilities (in red),The group AB above is less vulnerable than CDE Question: Can our existing approach be adapted to repair specialized embedded devices? Approach: While individual devices may lack the computing speed to efficiently find repairs, they can cooperate to explore the search space and find repairs more quickly Future: Simulate spread of both attacks and repairs simultaneously Hello0x2 0 There\0 Input[Loop] != 0111111111111 Input[Loop] >= ‘a’111111111110 Input[Loop] <= ‘z’011110011110 Input[Loop] >= ‘A’100001100000 Input[Loop] <= ‘Z’100000100000 Approach: Construct matrices (pictured above) relating input to branch decisions. Judge the diversity of programs by comparing their structure in a way that is robust to small, simple changes for(Loop = 0; Input[Loop] != ‘\0’; Loop++){ … if ((Input[Loop] >= ‘a’) && (Input[Loop] <= ‘z’)) { … else if((Input[Loop] >= ‘a’) && (Input[Loop] <= ‘z’)) { … Approach: Enhance several fundamental steps throughout the Result: Improvements yielded 68% more patches. Based on Amazon EC2 cloud service rates, 55 bugs were fixed at an average cost of $7.32 per bug. Results: We select a population of variants based on computational analogs of biological diversity that fixes an average of 40% of unknown bugs. Mutational robustness: Independent of programming language, domain, and test suit coverage, the fraction of program variants with identical behavior on all available test cases is 36.75% in 22 programs.


Download ppt "` Research 2: Information Diversity through Information Flow Subgoal: Systematically and precisely measure program diversity by measuring the information."

Similar presentations


Ads by Google