• Title/Summary/Keyword: Static Analyzer

Search Result 78, Processing Time 0.024 seconds

Refinement for Loops in Buffer-Overrun Abstract Interpretation (요약해석을 이용한 버퍼오버런 분석에서 루프 분석결과의 정교화)

  • Oh, Hak-Joo;Yi, Kwang-Keun
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.14 no.1
    • /
    • pp.111-115
    • /
    • 2008
  • We present a simple and effective method to reduce loop-related false alarms raised by buffer-overrun static program analyzer. Interval domain buffer-overrun analyzer raise many false alarms in analyzing programs that frequently use loops and arrays. Firstly, we classified patterns of loop-related false alarms for loop-intensive programs, such as embedded programs or mathematical libraries. After that we designed a simple and effective false alarm refiner, specialized for the loop-related false alarms we classified. After the normal analysis of program in which alarms considered as false. We implemented this method on our buffer-overrun analyzer with the result that our refinement method decreased the number of false alarms by 32% of total amount the analyzer reported.

Design and Implementation of Static Program Analyzer Finding All Buffer Overrun Errors in C Programs (C 프로그램의 버퍼 오버런(buffer overrun) 오류를 찾아 주는 정적 분석기의 설계와 구현)

  • Yi Kwang-Keun;Kim Jae-Whang;Jung Yung-Bum
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.5
    • /
    • pp.508-524
    • /
    • 2006
  • We present our experience of combining, in a realistic setting, a static analyzer with a statistical analysis. This combination is in order to reduce the inevitable false alarms from a domain-unaware static analyzer. Our analyzer named Airac(Array Index Range Analyzer for C) collects all the true buffer-overrun points in ANSI C programs. The soundness is maintained, and the analysis' cost-accuracy improvement is achieved by techniques that static analysis community has long accumulated. For still inevitable false alarms (e.g. Airac raised 970 buffer-overrun alarms in commercial C programs of 5.3 million lines and 737 among the 970 alarms were false), which are always apt for particular C programs, we use a statistical post analysis. The statistical analysis, given the analysis results (alarms), sifts out probable false alarms and prioritizes true alarms. It estimates the probability of each alarm being true. The probabilities are used in two ways: 1) only the alarms that have true-alarm probabilities higher than a threshold are reported to the user; 2) the alarms are sorted by the probability before reporting, so that the user can check highly probable errors first. In our experiments with Linux kernel sources, if we set the risk of missing true error is about 3 times greater than false alarming, 74.83% of false alarms could be filtered; only 15.17% of false alarms were mixed up until the user observes 50% of the true alarms.

Implementation of a Static Analyzer for Detecting the PHP File Inclusion Vulnerabilities (PHP 파일 삽입 취약성 검사를 위한 정적 분석기의 구현)

  • Ahn, Joon-Seon;Lim, Seong-Chae
    • The KIPS Transactions:PartA
    • /
    • v.18A no.5
    • /
    • pp.193-204
    • /
    • 2011
  • Since web applications are accessed by anonymous users via web, more security risks are imposed on those applications. In particular, because security vulnerabilities caused by insecure source codes cannot be properly handled by the system-level security system such as the intrusion detection system, it is necessary to eliminate such problems in advance. In this paper, to enhance the security of web applications, we develop a static analyzer for detecting the well-known security vulnerability of PHP file inclusion vulnerability. Using a semantic based static analysis, our vulnerability analyzer guarantees the soundness of the vulnerability detection and imposes no runtime overhead, differently from the other approaches such as the penetration test method and the application firewall method. For this end, our analyzer adopts abstract interpretation framework and uses an abstract analysis domain designed for the detection of the target vulnerability in PHP programs. Thus, our analyzer can efficiently analyze complicated data-flow relations in PHP programs caused by extensive usage of string data. The analysis results can be browsed using a JAVA GUI tool and the memory states and variable values at vulnerable program points can also be checked. To show the correctness and practicability of our analyzer, we analyzed the source codes of open PHP applications using the analyzer. Our experimental results show that our analyzer has practical performance in analysis capability and execution time.

Development of a String Injection Vulnerability Analyzer for Web Application Programs (웹 응용 프로그램의 문자열 삽입 보안 취약성 분석기 개발)

  • Ahn, Joon-Seon;Kim, Yeong-Min;Jo, Jang-Wu
    • The KIPS Transactions:PartA
    • /
    • v.15A no.3
    • /
    • pp.181-188
    • /
    • 2008
  • Nowadays, most web sites are developed using dynamic web pages where web pages are generated and transmitted by web application programs. Therefore, the ratio of attacks injecting malevolent strings to vulnerable web applications is increasing. In this paper, we present a static program analyzer which analyzes whether a web application program has vulnerabilities to the SQL injection attack and the cross site scripting(XSS) attack. To analyze programs using abstract interpretation framework, we designed an abstract domain which models potential string set along with excluded strings and developed an abstract interpreter for the PHP language. Also, based on them, we implemented a static analyzer. According to our experiments, our analyzer has competitive analysis speed and accuracy compared with related research results.

Fabrication of the Liquid Analyzer us ing Micro-stereolithography Technology (Micro-stereolithography 기술을 이용한 용액분석 소자 제작)

  • 이영태
    • Journal of the Korean Institute of Electrical and Electronic Material Engineers
    • /
    • v.14 no.12
    • /
    • pp.994-1000
    • /
    • 2001
  • In this paper, using micro-stereolithography technology, I fabricated a liquid analyzer to measure ion concentration of a solution. Micro-stereolithography is a technology to fabricate 3-dimensional structure by applying laser beam on liquid photo-polymer. This technology makes it possible to do preassemble fabrication without any extra assembling step after the process. So, the liquid analyzer could be fabricated at very low cost with very simple process by micro-stereolithography technology. The liquid analyzer consists of a chamber for containing the solution, a pump using piezoelectric effect of PZT disk, a static mixer and a sensor for measuring ion concentration using Pt electrodes.

  • PDF

A study on the non-destructive characteristics of the composite structures using the Acoustic Emission (Acoustic Emission(AE)을 이용한 복합재료 구조물의 비파괴 특성 연구)

  • Lee Chang-Hun;Choi Jin-Ho;Kweon Jin-Hwe;Byun Jun-Hyung;Yu Yeun-Ho
    • Proceedings of the Korean Society For Composite Materials Conference
    • /
    • 2004.04a
    • /
    • pp.139-142
    • /
    • 2004
  • As fiber reinforced composite materials are widely used in aircraft, space structures and robot arms, the study on the non-destructive testing methods of the composite materials has become an important research area for improving their reliability and safety. In this paper, the AE signal analyzer with the resonance circuit to extract the specified frequency of the acoustic emission signal were designed and fabricated. The noise levels of the fabricated AE signal analyzer by the disturbance such as impact or mechanical vibration had a very small value comparable to those of the conventional AE signal analyzer. Also, the crack detection capabilities of the fabricated AE signal analyzer under the static and dynamic tensile test were evaluated and compared with the conventional AE signal analyzer.

  • PDF

Airac: Static Analyzer for Automatic Verification of Array Index Ranges in C Programs (아이락: C 프로그램의 메모리 오류 정적 분석기)

  • Jung Yungbum;Kim Jaehwang;Shin Jaeho;Yi Kwangkeun
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.964-966
    • /
    • 2005
  • 아이락(Airac)은 C 프로그램의 버퍼오버런(buffer overrun)오류를 찾아주는 정적 프로그램 분석기(static program analyzer)이다. 아이락은 요약해석(abstract interpretation)의 틀 속에서 디자인되었다. 설계 및 구현 과정에서 프로그램 분석 분야에서 축적되어온 다양한 기술들을 적용하여 분석의 성능 및 정확도 향상을 이룩하였다. 아이락은 리눅스 커널(linux kernel), GNU 소프트웨어, 상용 소프트웨어등에 적용되어 오류를 찾아냈다.

  • PDF

Evaluation of Static Analyzers for Weakness in C/C++ Programs using Juliet and STONESOUP Test Suites

  • Seo, Hyunji;Park, Young-gwan;Kim, Taehwan;Han, Kyungsook;Pyo, Changwoo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.22 no.3
    • /
    • pp.17-25
    • /
    • 2017
  • In this paper, we compared four analyzers Clang, CppCheck, Compass, and a commercial one from a domestic startup using the NIST's Juliet test suit and STONESOUP that is introduced recently. Tools showed detection efficacy in the order of Clang, CppCheck, the domestic one, and Compass under Juliet tests; and Clang, the domestic one, Compass, and CppCheck under STONESOUP tests. We expect it would be desirable to utilize symbolic execution for vulnerability analysis in the future. On the other hand, the results of tool evaluation also testifies that Juliet and STONESOUP as a benchmark for static analysis tools can reveal differences among tools. Finally, each analyzer has different CWEs that it can detect all given test programs. This result can be used for selection of proper tools with respect to specific CWEs.