• 제목/요약/키워드: software weakness

검색결과 115건 처리시간 0.027초

시큐어 코딩 중심으로 본 원자력 관련 소프트웨어 (Nuclear-related Software analysis based on secure coding)

  • 정다혜;최진영;이송희
    • 정보보호학회논문지
    • /
    • 제23권2호
    • /
    • pp.243-250
    • /
    • 2013
  • 스마트 시대로 진입하면서, 다양한 임베디드 소프트웨어, 특히 SCADA 소프트웨어와 자동차 소프트웨어 등은 신뢰도와 고 안전성뿐만이 아니라 높은 보안성도 중요하게 되었다. 따라서 해커가 공격하는 데 사용하는 소프트웨어 취약점(vulnerability)의 근본 원인인 소프트웨어 보안 약점(weakness)을 개발 단계에서 제거하는 것이 매우 중요하게 되었다. 기능성 중심의 MISRA-C와 같은 코딩 룰은 보안성 중심의 시큐어 코딩규칙으로 확대가 될 필요가 있다. 본 논문에서는 고 안전성 소프트웨어의 데모용으로 개발 중인 원자력 관련 소프트웨어를 CERT-C 시큐어 코딩 규칙으로 조사하여 얼마나 많은 보안약점을 내재하고 있는 지를 분석하여, 이러한 보안약점을 소프트웨어 개발 시에 제거하는 방법에 대하여 제안한다.

소프트웨어 개발단계 Use-After-Free 보안약점 제거방안 연구 (A Study on the Remove Use-After-Free Security Weakness)

  • 박용구;최진영
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제6권1호
    • /
    • pp.43-50
    • /
    • 2017
  • 최근 컴퓨터 시스템 내부에 존재하는 웹 브라우저, 운영체제 커널 등에서 Use-After-Free 보안문제가 지속적으로 발생하고 있다. 해당 보안약점은 기존의 보안약점 탐지방법으로 제거하기 어려우며 소프트웨어 내부에 해당 보안약점이 존재할 경우 내부 보안에 심각한 영향을 미친다. 본 논문에서는 소프트웨어 개발 과정에서 해당 보안약점을 제거하기 위한 방안을 연구하였다. 이 과정에서 해당 보안약점의 발생 원인을 정리하고 이를 제거하기 위한 방법을 제시한다.

소프트웨어 보안약점의 중요도에 대한 정량 평가 기준 연구 (Quantitative Scoring Criteria on the Importance of Software Weaknesses)

  • 안준선;방지호;이은영
    • 정보보호학회논문지
    • /
    • 제22권6호
    • /
    • pp.1407-1417
    • /
    • 2012
  • 소프트웨어 시스템을 보안 침해로부터 보호하기 위해서는 소프트웨어의 개발 단계에서부터 생명주기 전체에 걸쳐 보안약점을 제거하는 작업이 요구된다. 이러한 작업을 수행함에 있어서 계속하여 보고되고 있는 다양한 보안약점들에 대하여 시스템 보안과 실제 활용 목적에 미치는 영향이 큰 보안약점을 선별하여 적절히 대처하는 것이 효과적이다. 본 논문에서는 소프트웨어 보안약점 및 보안취약점의 중요성에 대한 기존의 정량 평가 방법론들을 소개하고, 이를 기반으로 신뢰도가 중요시되는 소프트웨어 시스템에 대하여 보안약점의 일반적인 심각성을 객관적으로 평가할 수 있는 정량 평가 기준을 제안한다. 또한 제안된 기준을 사용하여 2011 CWE/SANS Top 25 보안약점 명세에 대한 중요도 평가를 수행하고 그 결과를 기존 점수와 비교함으로써 제안된 평가기준의 유용성을 보이고자 한다.

소프트웨어 개발 보안성 강화를 위한 주요 보안약점 진단규칙 연구 (Research on Major Weakness Rules for Secure Software Development)

  • 방지호;하란
    • 한국통신학회논문지
    • /
    • 제38C권10호
    • /
    • pp.831-840
    • /
    • 2013
  • 최근 소프트웨어 보안성 강화를 위해 소프트웨어 개발단계에서 보안취약점의 원인인 보안약점을 제거하기 위한 정적분석 기반의 도구를 많이 활용하고 있다. 따라서, 보안약점 진단도구는 다양한 보안약점을 진단할 수 있는 진단규칙을 보유하는 것이 필요하다. 2011년부터 2012년까지 국내 주요 정보화사업으로 개발된 소프트웨어에서 발견된 상위 5개의 보안약점은 연도별 상위 10개 보안약점의 76%에 해당된다. 소프트웨어 개발시 상위 5개의 보안약점만 적절히 조치하여도 소프트웨어 보안성이 많이 개선될 수 있다. 본 논문은 많이 활용되고 있는 공개용 진단도구인 PMD를 대상으로 주요 보안약점에 대한 진단규칙과 이에 대한 성능시험 결과를 제시한다.

모바일 애플리케이션을 위한 보안약점 구조화 기법에 대한 연구 (A Study on the Structured Weakness Classification for Mobile Applications)

  • 손윤식;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제15권11호
    • /
    • pp.1349-1357
    • /
    • 2012
  • 오늘날의 소프트웨어는 인터넷 환경에서 데이터를 교환하기 때문에 해커에 의해 악의적인 공격을 받을 가능성이 항상 존재한다. 이러한 보안약점은 심각한 경제적 손실을 발생시키는 소프트웨어 보안 침해사고의 직접적인 원인이다. 최근에는 보안 약점을 해소하기위해 외부환경에 대한 보안시스템을 견고히 하는 것보다 프로그래머가 견고한 소프트웨어를 개발하는 것이 보안 수준을 향상시킬 수 있는 본질적이고 가장 효과적인 방법이라는 인식이 늘어나고 있다. 이러한 가운데 코딩 단계에서부터 소프트웨어에 대한 취약점을 해소하여 보안 침해사고를 예방하기 위한 코딩 안내서를 제시하는 것이 전 세계적으로 주요한 보안 이슈로 떠오르고 있다. 시큐어 코딩을 개발자나 관리자 입장에서 효과적으로 사용하기 위해서는 전체 시큐어 코딩 집합과 보안약점을 구조적으로 체계화하고 관리해야 하며 새로운 정보의 갱신이 지속적으로 필요하지만, 기존의 시큐어 코딩 및 보안약점은 구조적으로 체계화되어 있지 못하다. 본 논문에서는 Java 언어를 대상으로 기존 시큐어 코딩 자료와 검사 도구의 코딩 룰 조사를 통해 보안 약점을 구조화하고 모바일 애플리케이션을 위한 구조적 보안 약점을 그 결과로 소개한다.

CodeBERT 모델의 전이 학습 기반 코드 공통 취약점 탐색 (Detecting Common Weakness Enumeration(CWE) Based on the Transfer Learning of CodeBERT Model)

  • 박찬솔;문소영;김영철
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제12권10호
    • /
    • pp.431-436
    • /
    • 2023
  • 소프트웨어 공학 영역에 인공지능의 접목은 큰 화두 중 하나이다. 전 세계적으로 1) 인공지능을 통한 소프트웨어 공학, 2) 소프트웨어 공학을 통한 인공지능 두 가지 방향으로 활발히 연구되고 있다. 그 중 소프트웨어 공학에 인공지능을 접목하여 나쁜 코드 영역을 식별하고 해당 부분을 리팩토링하는 연구가 진행되고 있다. 해당 연구에서 인공지능이 나쁜 코드 요소의 패턴을 잘 학습하기 위해서는 학습하려는 나쁜 코드 요소가 라벨링 된 데이터셋이 필요하다. 문제는 데이터셋이 부족할뿐더러, 자체적으로 수집한 데이터셋의 정확도는 신뢰할 수 없다. 이를 해결하기 위해 코드 데이터 수집 시 전체 코드가 아닌 높은 복잡도를 가진 코드 모듈 영역을 대상으로만 나쁜 코드 데이터를 수집한다. 이후 수집한 데이터셋을 CodeBERT 모델의 전이 학습하여 코드 공통 취약점을 탐색하는 방법을 제안한다. 해당 데이터셋을 통해 CodeBERT 모델이 코드의 공통 취약점 패턴을 더 잘 학습할 수 있다. 이를 통해 전통적인 방법보다 인공지능 모델을 이용해 코드를 분석하고 공통 취약점 패턴을 더 정확하게 식별할 수 있을 것으로 기대한다.

대한민국 전자정부 소프트웨어 개발보안 가이드 개선 방안 연구 (An Improvement of the Guideline of Secure Software Development for Korea E-Government)

  • 한경숙;김태환;한기영;임재명;표창우
    • 정보보호학회논문지
    • /
    • 제22권5호
    • /
    • pp.1179-1189
    • /
    • 2012
  • 본 연구에서는 행정안전부의 전자정부 소프트웨어 개발 운영자를 위하여 2012년에 발표한 소프트웨어 개발보안 가이드를 개선하기 위한 방안을 제안하였다. 개선 방안은 취약점 관점이 아닌 코딩 규칙 관점으로 개발보안 가이드를 구성하는 것이다. 이를 위해 보안약점과 코딩 규칙, 이를 진단하기 위한 진단도구의 상관관계를 연구하였다. 제안된 개발보안 가이드를 사용하게 되면 코딩 규칙을 준수함으로써 보안약점 감소 효과를 거둘 수 있을 것이다. 기존의 개발 보안 가이드가 개발자에게 보안약점이 없는 프로그램을 개발하도록 하는 달성하기 어려운 책임을 지우는 것에 반해, 본 논문에서 제안하는 개발보안 가이드는 프로그래머의 책임을 코딩 규칙을 준수하도록 하는 것으로 제한할 것이다.

모바일 애플리케이션을 위한 취약점 분석기의 설계 및 구현 (Design and Implementation of A Weakness Analyzer for Mobile Applications)

  • 문일룡;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제14권10호
    • /
    • pp.1335-1347
    • /
    • 2011
  • 최근 모바일 애플리케이션의 보급과 사용은 급속도로 확장되고 있으며, 이 과정에서 모바일 애플리케이션의 보안이 새로운 문제로 대두되고 있다. 일반적인 소프트웨어의 안전성은 시큐어 코딩을 통해 개발 단계에서 부터 검증까지 체계적으로 이루어지고 있으나 모바일 애플리케이션의 경우는 아직 연구가 미흡한 실정이다. 본 논문에서는 모바일 애플리케이션에 특화된 취약점 항목을 도출하고 이를 기반으로 취약점을 분석할 수 있는 취약점 분석기를 설계하고 구현한다. 취약점 목록은 CWE(Common Weakness Enumeration)와 CERT (Computer Emergency Response Team)를 기반으로 모바일 애플리케이션의 특징인 이벤트 구동방식을 한정하여 도출하였으며, 분석 도구는 동적 테스트를 통하여 애플리케이션 소스 내에 취약점이 존재하는지 검사한다. 또한 도출된 취약점 목록은 모바일 애플리케이션을 작성하는 프로그래머의 지침서로 활용 될 수 있다.

정적 분석을 이용한 안전한 한글 프로그래밍 언어의 개발 (Development of Safe Korean Programming Language Using Static Analysis)

  • 강도훈;김연어;우균
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제5권4호
    • /
    • pp.79-86
    • /
    • 2016
  • 소프트웨어 보안 사고의 약 75%는 소프트웨어 취약점으로 인해 발생한다. 또한, 제품 출시 후 결함 수정 비용은 설계 단계의 수정 비용보다 30배 이상 많다. 이러한 배경에서, 시큐어 코딩은 유지 보수 문제를 해결하는 방법 중 하나로 제안되었다. 다양한 연구 기관에서는 소프트 웨어 보안 약점의 표준 양식을 제시하고 있다. 새로운 한글 프로그래밍 언어 새싹은 언어 수준에서 보안 약점 해결 방법을 제안하였다. 그러나 이전 연구의 새싹은 API에 관한 보안 약점을 해결하지 못하였다. 본 논문에서는 API에 의한 보안 약점을 해결하는 방법을 제안한다. 이 논문에서 제안하는 방법은 새싹에 위험한 메소드를 검사하는 정적 분석기를 적용하는 것이다. 위험한 메소드는 오염된 데이터 유입 메소드와 오염된 데이터 사용 메소드로 분류한다. 분석기는 위험한 메소드 탐색, 호출 그래프 구성, 호출 그래프를 바탕으로 유입 메소드와 사용 메소드간의 경로 탐색, 검출된 보안 약점 분석 순으로 4단계에 걸쳐 보안 약점을 분석한다. 이 방법의 효율성을 측정하기 위해 정적 분석기를 적용한 새로운 새싹을 이용하여 두 가지 실험을 실행하였다. 첫 번째 실험으로서 이전 연구의 새싹과 개선된 새싹을 Java 시큐어 코딩 가이드를 기준으로 비교하였다. 두 번째 실험으로써 개선된 새싹과 Java 취약점 분석 도구인 FindBugs와 비교하였다. 결과에 따르면, 개선된 새싹은 이전 버전의 새싹보다 15% 더 안전하고 개선된 새싹의 F-measure는 68%로써 FindBugs의 59%인 F-measure와 비교해 9% 포인트 증가하였다.

소스코드의 취약점 이력 학습을 이용한 소프트웨어 보안 취약점 분석 시스템 (A Software Vulnerability Analysis System using Learning for Source Code Weakness History)

  • 이광형;박재표
    • 한국산학기술학회논문지
    • /
    • 제18권11호
    • /
    • pp.46-52
    • /
    • 2017
  • 최근 ICT 및 IoT 제품의 활용 분야가 다양화 되면서 오픈소스 소프트웨어의 활용 분야가 컴퓨터, 스마트폰, IoT 디바이스 등 다양한 기기와 환경에서 활용되고 있다. 이처럼 오픈소스 소프트웨어의 활용분야가 다양해짐에 따라 오픈소스의 보안 취약점을 악용하는 불법적인 사례가 지속적으로 증가하고 있다. 이에 따라 다양한 시큐어 코딩을 위한 도구나 프로그램이 출시되고 활용되고 있지만 여전히 많은 취약점들이 발생하고 있다. 본 논문에서는 안전한 오픈 소스 소프트웨어 개발을 위해 오픈 소스의 취약점 분석 결과에 의한 이력과 패턴을 지속적으로 학습하여 신규 취약점 분석에 활용할 수 있는 방법을 제안한다. 본 연구를통해 취약점 이력 및 패턴 학습기반의 취약점 분석 시스템을 설계하였으며, 프로토타입으로 구현하여 실험을 통해 시스템의 성능을 평가하였다. 5개의 취약점 항목에 대해 평균 취약점 검출 시간은 최대 약 1.61sec가 단축되었으며, 평균 검출 정확도는 약 44%point가 향상된 것을 평가결과에서 확인할 수 있었다. 본 논문의 내용 및 결과는 소프트웨어 취약점 연구 분야에 대한 발전과 소프트웨어 개발자들의 취약점 분석을 통한 시큐어 코딩에 도움이 될 것을 기대한다.