• 제목/요약/키워드: Software Vulnerability

검색결과 243건 처리시간 0.026초

동적오염분석과 SMT 해석기를 이용한 소프트웨어 보안 취약점 분석 연구 (Analyzing Vulnerable Software Code Using Dynamic Taint and SMT Solver)

  • 김성호;박용수
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제21권3호
    • /
    • pp.257-262
    • /
    • 2015
  • 소프트웨어가 복잡해짐에 따라 개발자가 인지하지 못하는 버그가 증가하고 있다. 공격자들은 시스템을 공격하거나 악성코드를 유포하기 위해 이와 같은 소프트웨어 버그 중 보안에 취약한 버그를 이용한다. 대표적인 방법으로 문서, 멀티미디어 등의 파일을 조작하여 보안에 취약한 버그를 발생시키는 방법으로 최근 지능적 지속 공격 빈번하게 사용되었다. 이에, 본 논문에서는 소프트웨어의 보안 취약점을 찾기 위한 프로그램 자동 분석 방법을 제안한다. 제안 방법은 문서, 멀티미디어 등 입력 값에 의해 발생되는 소프트웨어의 보안에 취약한 버그를 찾는 것을 목표로 한다. 먼저, 동적 오염 분석을 통해 입력 데이터가 취약 코드 지점까지 전파되는 과정을 추적하고 입력데이터 전파와 관련이 있는 명령어를 추출한다. 추출된 연관 명렁어를 수식화하고 이를 SMT 해석기를 이용하여 보안 취약점이 발생할 수 있는 입력 값을 찾는다. 제안 방법을 통해 아래아 한글, 곰 플레이어에서 크래시가 발생할 수 있는 입력값과 취약 코드 6개를 찾았다.

북한 서광문서처리체계 분석을 위한 Document Object Model(DOM) 기반 퍼징 기법 (A DOM-Based Fuzzing Method for Analyzing Seogwang Document Processing System in North Korea)

  • 박찬주;강동수
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권5호
    • /
    • pp.119-126
    • /
    • 2019
  • 자체 개발하여 사용하고 있는 대표적인 소프트웨어는 붉은별(Red Star)과 내부 응용 소프트웨어이다. 하지만 이러한 북한 소프트웨어에 대한 기존 연구는 소프트웨어 설치방법 및 일반적인 실행화면 분석이 대부분이다. 소프트웨어 보안 취약점을 확인하는 방법 중 하나인 파일 퍼징은 보안 취약점을 식별하는 대표적인 방법이며, 본 연구에서는 북한에서 개발하여 사용 중인 소프트웨어 중 서광문서처리체계에 대한 보안 취약점을 분석하기 위해 파일 퍼징을 사용한다. 이때 서광문서처리체계에서 생산되는 Open Document Text(ODT) 파일 분석 및 테스팅 대상을 정하기 위한 Document Object Model(DOM) 기반 노드 추출, 그리고 삽입과 대체를 통한 변이 파일 생성을 제안하며, 이를 통해 동일한 테스팅 시간에 크래시 발견 횟수를 증가시킨다.

항공용 객체지향 소프트웨어에 대한 취약점 검증 방안 (Verification Methods for Vulnerabilities of Airborne Object-Oriented Software)

  • 장정훈;김성수;이지현
    • 항공우주시스템공학회지
    • /
    • 제16권2호
    • /
    • pp.13-24
    • /
    • 2022
  • 항공용 소프트웨어의 규모가 커짐에 따라 기능적 확장, 효율적인 개발 및 코드의 재사용을 위하여 객체지향 기술의 사용이 증가하고 있으나, 그 검증방안은 기존의 절차지향 프로그램 관점으로 수행되고 있다. 본 논문에서는 객체지향 기술의 특징과 객체지향 언어의 기능적 특징에서 파생되는 취약점들을 분석하고 객체지향기술이 적용된 항공용 소프트웨어의 기능 안전 무결성을 보장하기 위한 소프트웨어 개발단계(Design, Coding, Test)별 적용 가능한 검증 방안을 제시한다. 또한, 비행제어 소프트웨어 구현에 사용되는 오픈소스인 PX4에 정적분석 자동화 도구인 LDRA를 적용하여 제시한 단계별 검증 방안 중 정적분석 결과의 의미를 분석하였다.

보안 실행 환경을 위한 소프트웨어 기반의 암호화 패턴 부트스트랩 (Software-based Encryption Pattern Bootstrap for Secure Execution Environment)

  • 최화순;이재흥
    • 전기전자학회논문지
    • /
    • 제16권4호
    • /
    • pp.389-394
    • /
    • 2012
  • 현재 대부분 시스템은 부트 펌웨어에 대한 보안 취약점이 무시되어 왔다. 부트 펌웨어는 하드웨어 제어 권한과 다른 외부 장치의 권한을 가지고 있기 때문에 보안 메커니즘이 고려되지 않은 상태에서는 악의적인 프로그램이나 코드에 의해 하드웨어가 제어되고 악의적인 코드에 의해 운영체제 손상, 프로그램 도용과 같은 심각한 시스템의 오류를 초래할 가능성이 높다. 본 논문에서는 부트 펌웨어에 대한 신뢰성을 제공하기 위해 악의적인 코드 탐색과 프로그램 도용방지, 운영체제의 보안 로드를 위하여 기존 부트스트랩 방식에 벗어난 암호화된 부트스트랩 패턴을 가지는 소프트웨어 기반의 구조적 보안 메커니즘을 제안한다. 또한 실험 결과를 통해 다른 소프트웨어 보안 메커니즘 비해 적은 1.5~3% 사이의 오버헤드와 검출능력의 우수함을 입증한다.

Peach 퍼징을 위한 파일 분석 데이터 자동 생성 모델 (File Analysis Data Auto-Creation Model For Peach Fuzzing)

  • 김민호;박성빈;윤지노;김민수;노봉남
    • 정보보호학회논문지
    • /
    • 제24권2호
    • /
    • pp.327-333
    • /
    • 2014
  • 소프트웨어가 산업 및 사회전반으로 저변을 확대함에 따라 소프트웨어의 취약점으로 인한 위험이 증가하고 있으며, 소프트웨어의 취약점을 악용하는 사례도 빈번하게 나타나고 있다. 스마트 퍼징은 이러한 소프트웨어 취약점을 발견하기 위한 자동화된 방법이다. 그러나 스마트 퍼징을 위해서는 우선 퍼징을 수행하고자 하는 대상 소프트웨어에 대한 데이터 모델을 생성해야하며, 데이터 파일 및 소프트웨어 자체에 대한 분석이 필요하기 때문에 많은 자원이 소모된다. 따라서 효율적인 스마트 퍼징을 위해서 데이터 모델을 자동으로 생성하기 위한 방법이 필요하다. 본 논문에서는 데이터 입력 파일에 대한 분석을 통해서 스마트 퍼징을 위한 데이터 모델을 자동으로 생성하기 위한 프레임워크를 제안하고 이를 구현함으로서 소프트웨어 취약점 발견에 도움을 줄 것으로 기대한다.

블록기반 프로그래밍 코드의 수준 및 취약수준 측정방안 (A Method for Measuring and Evaluating for Block-based Programming Code)

  • 손원성
    • 정보교육학회논문지
    • /
    • 제20권3호
    • /
    • pp.293-302
    • /
    • 2016
  • 최근 SW 교육의 관심이 증대되고 프로그래밍 교육이 대학 학부교육의 주요한 부분으로 인식되고 있다. 특히 프로그래밍 입문 도구로서 블록 기반 프로그래밍 도구가 널리 사용되고 있으며 프로그래밍 입문자에게 기존 프로그래밍 언어와 비교하여 매우 다양한 장점들을 제공하고 있다. 한편 블록기반 프로그래밍 도구로 작성된 코드가 스크립트 언어일 경우 스크립트의 품질과 수준을 정교하게 측정하기 위해서는 상당한 노력을 기울어야 한다. 따라서 블록기반 프로그래밍 코드의 품질측정과 관련된 대부분의 연구는 단순히 프로그래밍 개념과 연관된 블록의 사용개수를 정량화하여 스크립트의 수준을 평가하고 있다. 그 결과 기존연구의 기법으로는 취약수준을 측정하거나 스크립트에 명시되지 않는 프로그래밍 개념에 대한 평가가 어렵다. 본 연구는 블록기반 프로그래밍 스크립트의 품질측정 및 취약수준 분석이 가능한 프레임워크를 제안한다. 프레임워크에서는 블록기반 프로그래밍 언어들이 내포한 다양한 프로그래밍 개념을 구조화한 평가 매트릭스를 구축하고 동 지표를 기반으로 스크립트의 품질 측정과 항목별 취약점 개선에 따른 수준향상 모델을 제안함으로써 개인별 수준진단 및 향후 개선 가능한 목표수준을 예측할 수 있도록 하였다.

점진적 실행을 통한 소프트웨어의 구조 그래프 생성 (Constructing Software Structure Graph through Progressive Execution)

  • 이혜련;신승훈;최경희;정기현;박승규
    • 한국컴퓨터정보학회논문지
    • /
    • 제18권7호
    • /
    • pp.111-123
    • /
    • 2013
  • 소프트웨어의 취약성을 검증하기 위하여 소프트웨어의 구조를 유추하여 유추된 구조를 활용하여 테스트하는 방법이 주목받고 있다. 이와 같은 방법을 사용하기 위해서 효과적인 소프트웨어의 구조 유추 방법이 요구된다. 많이 사용되는 DFG(Data Flow Graph), CFG(Control Flow Graph) 이나 CFA(Control Flow Automata)와 같은 그래프나 트리 방식은 소프트웨어 모델을 구조적으로 표현하지 못하는 단점을 가진다. 본 논문에서는 이러한 단점을 극복할 수 있는 방법을 제시한다. 제시된 방법은 바이너리 코드에 다양한 입력데이터 들을 부여하여 입력데이터별 CFG를 생성하고, 생성된 CFG들이 구조적으로 표현될 수 있도록 계층적 제어 흐름 그래프(Hierarchical Control Flow Graph, HCFG)를 작성한다. 또한 제안하는 HCFG을 생성하는데 요구되는 그래프의 구성요소와 점진적 그래프 생성 알고리듬도 제시한다. 제안한 방법론을 공개된 SMTP(Simple Mail Transfer Protocol) 서버 프로그램에 적용시켜 소프트웨어의 모델을 작성하는 실험을 수행하고, 생성된 모델과 실제 소프트웨어 구조를 비교 분석한다.

인공 신경망 기반의 지문 영상 복원 알고리즘 (An Algorithm of Fingerprint Image Restoration Based on an Artificial Neural Network)

  • 장석우;이사무엘;김계영
    • 한국산학기술학회논문지
    • /
    • 제21권8호
    • /
    • pp.530-536
    • /
    • 2020
  • 일반적인 지문 인식기에서 이용되는 미뉴셔 특징은 표현 공격에는 강건하지만 오 정합률이 상대적으로 높다는 약점이 있다. 따라서 미뉴셔 특징은 스켈리톤 영상과 함께 이용되는 경향이 있다. 보통 지문의 미뉴셔 특징에 대한 보안 취약성 연구는 많이 진행되어 있으나 스켈리톤에 대한 취약성 연구는 미약한 형편이므로 본 연구에서는 스켈리톤에 대한 표현 공격의 취약성을 분석하고자 한다. 이를 위해, 본 연구에서는 지문의 스켈리톤으로부터 학습 알고리즘을 사용해 원래의 지문을 복구하는 방법을 제시한다. 본 논문에서 제시된 방법은 기존의 Pix2Pix 모델에 잠재 벡터를 추가한 새로운 학습 모델인 Pix2Pix을 제안하여, 보다 자연스러운 지문을 생성한다. 본 논문의 실험 결과에서는 제시된 학습 알고리즘을 이용해 원래의 지문을 복원한 다음, 복원된 지문을 지문 인식기에 입력시켜 높은 인식률을 달성하였다. 그러므로 본 연구는 스켈리톤을 함께 이용하는 지문 인식기는 표현 공격에 취약함을 검증하였다. 본 논문에서 제시된 접근방법은 지문 인식 및 복원, 비디오 보안, 생체 인식 등과 연관된 많은 실제적인 응용 분야에서 유용하게 사용될 것으로 기대된다.

CC에서의 소프트웨어 개발보안 활용에 대한 연구 (How to Combine Secure Software Development Lifecycle into Common Criteria)

  • 박진석;강희수;김승주
    • 정보보호학회논문지
    • /
    • 제24권1호
    • /
    • pp.171-182
    • /
    • 2014
  • CC는 평가보증등급에 따라 정보보호제품의 보안취약점을 최소화할 수 있도록 지원하는 제도이다. 소프트웨어 개발보안은 소프트웨어의 개발 생명주기에서 보안취약점을 발생시킬 수 있는 보안약점을 제거하는 방법이다. 하지만 CC는 정보보호제품이 인증된 시점 이전의 보안취약점에 대해선 고려하지만 인증된 시점 이후에 발생할 수 있는 새로운 보안취약점에 대해서 고려하지 않기 때문에 정보보호제품의 안전성과 신뢰성에 대한 문제가 발생할 수 있다. 또한, 국가 및 공공기관의 정보화사업에 도입되는 정보보호제품은 CC와 소프트웨어 개발보안을 모두 만족시켜야 되기 때문에 개발자, 평가자에게 부담이 된다. 따라서 본 논문은 CC에서 소프트웨어 개발보안을 활용해야하는 당위성을 검증하기 위해 CC와 소프트웨어 개발보안이 제거할 수 있는 보안약점 및 보안취약점의 상관관계를 비교하였다. 또한, CC에서 소프트웨어 개발보안을 활용하기 위한 평가방법을 제안하여 정보보호제품의 안전성과 신뢰성을 극대화하고 개발자와 평가자의 부담을 최소화하였다.

MS 워드프로세서의 입력 파일에 대한 유효성 테스팅 방법에 관한 연구 (A Study on Validation Testing for Input Files of MS Word-Processor)

  • 윤영민;최종천;유해영;조성제
    • 정보처리학회논문지C
    • /
    • 제14C권4호
    • /
    • pp.313-320
    • /
    • 2007
  • 본 논문에서는 MS 워드프로세서의 입력 파일에 대한 유효성을 검사하여 MS 워드프로세서의 보안 취약성을 분석하는 방법을 제안하였다. 즉, 워드프로세서에 적용되는 입력 파일의 헤더 정보를 분석함으로써, 그 입력 파일에 존재하는 취약성을 검출하였다. 본 논문에서 수행한 입력 파일 유효성 테스팅은 기존 결함 주입 도구인 Holodeck 및 CANVAS 등으로는 테스트할 수 없다. 제안한 방법은 헤더를 가진 데이터 파일을 입력으로 사용하는 한글, MS 엑셀 등의 입력 파일에 대한 취약성 검출에도 적용될 수 있다. 또한, 대상 소프트웨어들의 결함 허용성 평가 및 신뢰성 평가에도 사용될 수 있다.