Encore: Exploiting System Environment and Correlation Information for Misconfiguration Detection

Encore: Exploiting System Environment and Correlation Information for Misconfiguration Detection

EnCore: Exploiting System Environment and Correlation Information for Misconfiguration Detection Jiaqi Zhang†, Lakshminarayanan Renganarayana§, XiaolanZhang§, Niyu Ge§, Vasanth Bala§, Tianyin Xu†, Yuanyuan Zhou† †University of California San Diego §IBM Watson Research Center {jiz013, tixu, yyzhou}@cs.ucsd.edu {lrengan, cxzhang, niyuge, vbala}@us.ibm.com Abstract 1 Introduction As software systems become more complex and config- urable, failures due to misconfigurationsare becoming a crit- As software systems become more flexible and feature-rich, ical problem. Such failures often have serious functionality, their configurations have become highly complicated. For security and financial consequences. Further, diagnosis and example, MySQL and Apache httpd server, individually, has remediation for such failures require reasoning across the more than 200 configuration entries. As a result, correctly software stack and its operating environment, making it dif- configuring software systems has become a highly complex ficult and costly. task that renders manual effort difficult and error-prone [21, We present a framework and tool called EnCore to au- 41, 43, 44]. Studies show that configuration errors are both tomatically detect software misconfigurations. EnCore takes common and highly detrimental to businesses [29, 30, 41, into account two important factors that are unexploited be- 46]. Not only do misconfigurations lead to lost business due fore: the interaction between the configuration settings and to system unavailability [1, 19, 24], they also demand sub- the executing environment, as well as the rich correlations stantial resources be devoted to troubleshooting [43, 44]. In between configuration entries. We embrace the emerging one particular case of a large commercial corporation, mis- trend of viewing systems as data, and exploit this to ex- configuration has contributed to as many as 27% of the trou- tract information about the execution environment in which ble tickets in the customer support database [46]. The sit- a configuration setting is used. EnCore learns configuration uation is exacerbated by the fact that many organizations rules from a given set of sample configurations. With train- impose security and performance policies for best practices. ing data enriched with the execution context of configura- Configuration settings that are otherwise valid from a func- tions, EnCore is able to learn a broad set of configuration tional perspective may not conform to these policies, leading anomalies that spans the entire system. EnCore is effective to security flaws or performance anomalies. Detecting such in detecting both injected errors and known real-world prob- sub-optimal configurations is also highly desireable. lems – it finds 37 new misconfigurations in Amazon EC2 A promising approach for taming the configuration prob- public images and 24 new configuration problems in a com- lem (or the configuration hell [43]) is to automatically check mercial private cloud. By systematically exploiting environ- a set of configuration settings for potential errors before de- ment information and by learning correlation rules across ployment, just as one would normally do with application multiple configuration settings, EnCore detects 1.6x to 3.5x source code. However, most configuration files used today more misconfiguration anomalies than previous approaches. lack the rich structural and semantic information available in programming languages which enable sophisticated analysis Categories and Subject Descriptors D.4.5 [Operating Sys- for errors [40, 41]. To overcome the limitation, researchers tems]: Reliability have attacked the problem of misconfiguration detection by Keywords Configuration, Data Mining, Inference learning, for each configuration entry, the common values used in a large collection of configurations (i.e. the training Permission to make digital or hard copies of all or part of this work for personal or set), and flagging those values that deviate from the common classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation ones as potential misconfigurations [34, 41, 42]. on the first page. Copyrights for components of this work owned by others than ACM While proven useful in some scenarios, the potential of must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a these tools [34, 41, 42] is greatly limited due to the sim- fee. Request permissions from [email protected]. plistic treatment of each configuration setting as a string ASPLOS ’14, March 1–5, 2014, Salt Lake City, Utah, USA. Copyright c 2014 ACM 978-1-4503-2305-5/14/03. $15.00. literal in isolation. Configuration settings bridge applica- http://dx.doi.org/10.1145/2541940.2541983 tions to their operating environment. Therefore the diagno- 687 "#$%"&'()*+,-' !"#!$%&'$* "%C">$:A'1.(1"," ./01&222&343&3435,617/.28//9 data and exploits it to extract the environment information ))%'($./"-'''''''''!)'!#&"$#* "%"2).4+%"#&"""%*1&$3.179"-.3"1&(4+"1"8+& relevant to configuration settings in a system. PHP (a) Wrong value causes modules not loaded. Environment information needs to be considered to detect the problem. 1.1 Contributions "#$%"&'()*+,-""" +'+ "%!AB+(A/.;A,617/""""" should be owner Our contributions include (i) a general framework for sys- ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-%!*"C",720+ ))%'($./":""""""""""-%!*,*2"-.3".6-&1".'" +'+ "%>"<+:1.?*"30(,.11.)?"80?.+/"0(()( tematic inclusion of the properties of execution environment, MySQL (ii) a tool, called EnCore, for efficient learning and effective (b) Wrong file owner causes permission problem. The correlation checking of misconfigurationsand (iii) a set of findings from between different configuration entries needs to be examined. experimental evaluation of the limitations of using off-the- Figure 1: Real-world system problems caused by misconfigu- shelf data mining techniques for misconfiguration detection. rations. The root causes of these problem are hidden in (a) envi- Our tool EnCore provides a generic configuration data ronment factors, and (b) the correlation between two configuration analysis framework that can be readily used for learning entries. Neither of these configuration errors can be detected by an- misconfiguration rules based on correlation among multiple alyzing configuration values because (a) the value varies widely in configuration entries. It also provides features to capture do- the training set, and (b) the values are common in the training set main knowledge and best practices. The framework has a and no correlation is considered. novel type inference scheme that exploits environment in- sis and remediation of misconfigurations requires reasoning formation to derive semantic types for each configuration across both sides. Figure 1 shows two real-world miscon- setting. It also includes an annotator which augments each configuration entry with all its environment related proper- figurations, neither of which can be detected with existing approaches. In Figure 1(a), extension dir specifiesthe ties. The type information significantly speeds up the rule inference process, and reduces the number of false positives. location of the extension libraries. While it should be a di- We demonstrate the effectiveness of EnCore in rules rectory, the user incorrectly supplied a regular file. Exist- ing approaches that detect errors by relying on anomalies learning and misconfiguration detection from three widely used server applications: Apache, MySQL, and PHP. By sys- in the configuration values cannot detect this error because the value of extension dir oftenvariesacrossasetof tematically exploiting environment information and learning En- samples and hence cannot be meaningfully considered as an correlation rules across multiple configuration settings, Core detects 1.6 to 3.5 times more misconfigurations than anomaly [41]. However, by analyzing a set of sample values for this setting in the context of the executing system, one previous approaches. To the best of our knowledge, our work is the first one to can detect that the value should be a directory and not a file. combine environment information and correlations among In the example shown in Figure 1(b), datadir points to the directory where MySQL stores the table data, and user multiple configuration settings to automatically generate an effective configuration anomaly detector. specifies the system user id with which MySQL operates on the data. MySQL requires that the user mysql should own the datadir, while in this example this is not the case in 2 Design Principle this example. Existing methods that compare the values of In this section, we elaborate the findings that motivate and these configuration settings across a set of samples cannot influence the design choices of EnCore . Our design prin- detect this error because detecting this error requires reason- ciples derive from observations made in two exercises: the ing along two dimensions: (i) correlation between multiple study of configuration entries, and our experience in apply- configuration settings – correlating user and datadir, ing off-the-shelf data mining techniques for misconfigura- and (ii) validation of the configuration settings in the con- tion detection. text of the system (environment) they are used – checking in the system if datadir is owned by user mysql. 2.1 Characteristics of Configuration Parameters

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us