Publication | Closed Access
CFIMon: Detecting violation of control flow integrity using performance counters
185
Citations
44
References
2012
Year
Unknown Venue
EngineeringInformation SecurityVerificationSoftware AnalysisFormal VerificationHardware SecurityStatic CheckingData FlowRuntime VerificationAbnormal Control FlowOperating System SecurityComputer EngineeringControl Flow IntegrityComputer ScienceStatic Program AnalysisLanguage-based SecurityData SecuritySoftware SecurityIllegal Control FlowProgram AnalysisSoftware TestingFormal MethodsFault InjectionSystem Software
Many classic and emerging security attacks usually introduce illegal control flow to victim programs. This paper proposes an approach to detecting violation of control flow integrity based on hardware support for performance monitoring in modern processors. The key observation is that the abnormal control flow in security breaches can be precisely captured by performance monitoring units. Based on this observation, we design and implement a system called CFIMon, which is the first non-intrusive system that can detect and reason about a variety of attacks violating control flow integrity without any changes to applications (either source or binary code) or requiring special-purpose hardware. CFIMon combines static analysis and runtime training to collect legal control flow transfers, and leverages the branch tracing store mechanism in commodity processors to collect and analyze runtime traces on-the-fly to detect violation of control flow integrity. Security evaluation shows that CFIMon has low false positives or false negatives when detecting several realistic security attacks. Performance results show that CFIMon incurs only 6.1% performance overhead on average for a set of typical server applications.
| Year | Citations | |
|---|---|---|
Page 1
Page 1