• 제목/요약/키워드: buffer overrun

검색결과 8건 처리시간 0.02초

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

  • 오학주;이광근
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권1호
    • /
    • pp.111-115
    • /
    • 2008
  • 버퍼오버런 분석기가 루프안에서 발생시키는 허위경보를 간편하고도 효율적으로 줄이는 방법과 경험을 소개한다. 버퍼오버런 분석기는 루프와 배열을 많이 사용하는 프로그램을 분석할 때 많은 허위경보를 발생시킨다. 우리는 먼저 루프를 많이 사용하는 프로그램인 임베디드 프로그램과 암호화 관련 프로그램들에서 발생하는 허위경보를 조사하여 허위경보를 일으키는 루프의 패턴을 조사했다. 그 다음에 그 루프에 특화된 간단하고 효율적인 재분석기를 고안하였다. 우리가 제안하는 재분석기는 분석기가 분석을 끝낸 후 내 놓는 분석결과를 보고 재분석할 목표가 되는 루프만을 찾아서 초벌분석보다 더 정교한 분석을 하여 허위경보를 안전하게 제거한다. 버퍼오버런 분석기인 아이락에 구현하여 실험해본 결과 전체 루프 관련 허위경보 중 32% 가량이 제거되었다.

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

  • 이광근;김재황;정영범
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권5호
    • /
    • pp.508-524
    • /
    • 2006
  • 이 논문에서는 정적 프로그램 분석(static program analysis)과 통계적 분석(statistical analysis)의 조합을 가지고 실제적인 C 프로그램을 검증한 경험을 보고한다. 정적 분석과 통계적 분석의 조합은 입력 프로그램에 제한을 두지 않는 정적 분석기에서 발생하는 불가피한 허위 경보를 줄이기 위한 것이다. 우리는 ANSI C 프로그램이 실행 중에 겪을 수 있는 모든 배열 참조 오류(buffer overrun)를 찾아주는 정적 프로그램 분석기 아이락(Airac, Array Index Range Analyzer for C)을 고안하고 구현하였다. 분석의 안전성(soundness)을 유지하면서 프로그램 분석 분야에서 오랫동안 축적된 기술들을 활용하여 분석 비용 절감 및 정확도 향상을 달성했다. 대상 프로그램에 제한을 두지 않는 안전한 분석은 정확도에 한계가 있으므로 불가피한 허위 경보가 존재할 수 있다. 이러한 허위 경보(예를 들어 530만 줄짜리 상용 C 프로그램에 대한 분석 결과 아이락은 970개의 배열 참조 오류 경보를 발생시켰으나 그 중 737개는 허위 경보였다.)에 대처하기 위해 우리는 통계적 사후 분석을 시도하였다. 통계적 사후 분석은 주어진 경보가 실제 오류를 가리킬 확률을 계산한다. 이렇게 계산된 확률은 두 가지 방법으로 사용된다. 1) 경보를 걸러내거나, 2) 실제 오류에 대한 경보일 가능성이 높은 것들을 우선적으로 사용자에게 보여준다. 우리는 리눅스 커널 프로그램과 알고리즘 교과서의 프로그램들을 대상으로 실험을 수행했다. 우리 실험에서 실제 오류를 놓칠 위험이 허위 경보의 위험의 3배라고 설정한 경우 74.83%의 허위 경보를 걸러낼 수 있었고, 참일 확률이 높은 경보부터 검증하는 경우 15.17%의 허위 경보만이 실제 오류 50%와 섞여 있었다.

클라이언트의 동적 버퍼 제어 신호에 의한 서버의 프레임 생략 전송 정책 (A Frame Skipping Transfer Policy for Server based on Clients Dynamic Buffer Control Signal)

  • 정홍섭;박규석
    • 정보처리학회논문지A
    • /
    • 제10A권6호
    • /
    • pp.677-684
    • /
    • 2003
  • VOD 서비스의 대부분 정책들은 주로 서버 시스템에 대해 연구되고 있고, 단절감 없는 재생과 재생질 보증의 근간이 되는 클라이언트의 버퍼 안정화 문제에 대해서는 언급되지 않고 있다. 본 논문에서는 클라이언트의 버퍼 상태가 스타베이션 또는 오버런인 경우 서버에 동적인 제어신호를 발하고, 서버에서는 수신된 제어 요구 신호에 따라 프레임을 생략하여 전송하는 정책을 제안한다. 그리고 시뮬레이션을 통하여 제안 정책이 클라이언트의 버퍼 상태 악화로 인한 프레임의 미수신 및 손실을 방지하여 클라이언트의 버퍼를 안정화시켜 재생질 보증에 더 효율적임을 보인다.

VOD 시스템에서 클라이언트 버퍼를 위한 전송율 제어 알고리즘의 설계 및 분석 (Design and Analysis of a Transmission Rate Control Algorithm for Client's Buffer on VOD Systems)

  • 김완규;박규석
    • 한국멀티미디어학회논문지
    • /
    • 제1권1호
    • /
    • pp.67-79
    • /
    • 1998
  • 본 논문에서는 VOD 서비스 시스템에서 서버의 데이타 전송율과 클라이언트의 데이타 소비율에 기반하여 서버의 전송율을 조정하는 전송율 제어 알고리즘을 설계하고 분석하였다. 제안 알고리즘은 클라이언트 버퍼의 오실레이션 현상을 줄여 버퍼를 안정화시키고 또한 콜라이언트 시스댐 의 스케률링 부하를 경감시키기 위하여 뀔라이언트 버퍼의 상태를 일정한 시간마다 검사하는 BCT를 이용한다 이 BCT를 기반으로 하여 콜라이언트꾀 데이타 소비율을 산출하고 버퍼의 크기를 예측한다 예측한 버퍼의 크기가 오버런(overun) 또는 스타베이션(starvation) 경고구간에 속할 경우에는 서버의 데이타 전송율을 적응적으로 조정하여 클라이언트 버퍼의 오버런과 스타베이션이 발생되지 않도록 한다. 네트워크의 부하 변동으로 인하여 전솜율 제어 정책의 수행만으로는 콜라이언트 버퍼를 안정시키지 못한다. 따라서 본 논문에서는 전송율 제어 정책과 미디어 스케일링 정책을 병행 수행하여 클라이언트 버퍼의 오버런 또는 스타베이션이 발생되지 않고 안정된 상태를 유지하도록 하였으며, 제안한 알고리즘에 대해 시뮬 레이션을 통하여 그 성능을 평가하였다.

  • PDF

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

  • 정영범;김재황;신재호;이광근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.964-966
    • /
    • 2005
  • 아이락(Airac)은 C 프로그램의 버퍼오버런(buffer overrun)오류를 찾아주는 정적 프로그램 분석기(static program analyzer)이다. 아이락은 요약해석(abstract interpretation)의 틀 속에서 디자인되었다. 설계 및 구현 과정에서 프로그램 분석 분야에서 축적되어온 다양한 기술들을 적용하여 분석의 성능 및 정확도 향상을 이룩하였다. 아이락은 리눅스 커널(linux kernel), GNU 소프트웨어, 상용 소프트웨어등에 적용되어 오류를 찾아냈다.

  • PDF

실용적인 버퍼 취약점 정적 검출기의 구현 (Practical Buffer Overrun Vulnerabilities Detection using Static Analysis)

  • 전진성;김건우;한환수;한태숙
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 한국컴퓨터종합학술대회 논문집 Vol.33 No.1 (B)
    • /
    • pp.391-393
    • /
    • 2006
  • 버퍼 오버런과 같은 소프트웨어의 보안 취약점이 알려진 이후로 이를 해결하기 위한 분석 도구 개발이 다양한 연구그룹에 의해 수행되었다. 하지만 범용 소프트웨어를 분석할 수 있는 실용적인 도구는 않지 않다. 본 논문은 모든 버그를 빠트림 없이 찾는 정적 분석에서 한발 물러나 조금 부정확하지만 빠른 시간안에 보안 취약점을 검출할 수 있는 방법을 소개하고, 버그가 알려진 소프트웨어에 대한 실험 결과를 통해 제안하는 검출기의 실용성을 보인다.

  • PDF

MS Windows에서 JPEG 관련 버퍼 오버런의 취약성 분석 (Analysis of a Buffer Overrun Vulnerability of JPEG on MS Windows)

  • 오현수;장혜영;조성제;김홍근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (A)
    • /
    • pp.139-141
    • /
    • 2005
  • 본 논문에서는 JPEG 파일의 구조를 먼저 살펴하고, MS Windows 운영체제 상에서 비정상적인 JPEG 파일을 접근(open)할 때 발생할 수 있는 버퍼 오버런 취약성(MS04-028)을 재연하여 분석한다. JPEG 파일의 헤더에 코멘트(comment) 부분이 있을 경우 길이 필드가 잘못되어 있고 JPEG 파일의 몸체에 쉘코드(cmd.exe) 생성부분을 가지고 있을 경우, 버퍼(heap) 오버런 공격이 발생되어 예기치 못한 결과들이 발생 할 수 있다. 본 논문에서는 디버거(WinDBG) 및 역공학 도구(IDAPro)를 이용하여, 이러한 JPEG 파일 관련 취약성을 분석하면서 바이너리 코드만 주어진 경우의 취약성 분석 절차를 이해하고 보안 결함 부분을 추적하는 연구를 수행한다.

  • PDF