• 제목/요약/키워드: 코드 취약점

검색결과 274건 처리시간 0.031초

딥러닝 기반의 코드 취약점 탐지 모델의 적대적 공격 (Adversarial Attack against Deep Learning Based Vulnerability Detection)

  • 정은;김형식
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2024년도 춘계학술발표대회
    • /
    • pp.352-353
    • /
    • 2024
  • 소프트웨어 보안의 근본적인 문제인 보안 취약점을 해결하기 위해 노력한 결과, 딥러닝 기반의 코드 취약점 탐지 모델은 취약점 탐지에서 높은 탐지 정확도를 보여주고 있다. 하지만, 딥러닝 모델은 작은 변형에 민감하므로 적대적 공격에 취약하다. 딥러닝 기반 코드 취약점 탐지 모델에 대한 적대적 공격 방법을 제안한다.

어셈블리 언어 수준에서의 소스코드 보안취약점 점검방법에 관한 연구 (The Study of Checking Source Code Vulnerability on the assembly language level)

  • 박현미;이병권;박정현;이형봉
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 2001년도 종합학술발표회논문집
    • /
    • pp.102-110
    • /
    • 2001
  • 대부분의 해킹 공격은 공격 대상 프로그램의 소스코드 보안취약점에 의해서 발생하지만 프로그램 개발시에 소스코드 보안성에 대해서는 고려되지 않았다. 이러한 문제점으로 인하여 해킹 공격의 근본적인 원인을 해결할 수 없었다. 본 논문에서는 취약점의 원인이 되는 코드를 컴파일시 생성된 어셈블리 코드 수준에서 탐지하는 방법을 제시하고자 한다. 취약한 코드를 컴파일러 수준에서 점검하는 것보다 어셈블리 코드 수준에서 점검하는 것은 어느 정도의 메모리 영역까지 점검할 수 있어 더 정확하다.

  • PDF

안드로이드 이중 코드서명 체계 연구 (A Study on Android Double Code-Signing)

  • 박경용;위성근;서승현;조태남
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.869-872
    • /
    • 2012
  • 전 세계적으로 스마트폰의 대중화와 보급률이 증가함에 따라 모바일 악성코드 확산으로 인한 피해가 늘어나고 있다. 많은 플랫폼들 중 최근 사용량이 증가하고 있는 안드로이드 마켓에는 악성코드 검증 절차가 없기 때문에 악성코드 배포에 용이한 환경을 가지고 있다. 또한 개발자가 생성한 자가 서명 인증서를 사용하기 때문에 개발자의 신원을 확인하기 어렵고, 유통 중에 발생할 수 있는 어플리케이션의 변조 유무를 확인하기 어렵다는 등의 취약점이 존재한다. 이러한 취약점들을 고려한 이중 코드서명 기법이 제안되었으나 기존 환경을 유지하려는 제약사항 때문에 취약점들을 보완하는 것에 한계가 있었다. 본 연구에는 안드로이드가 기반하고 있는 자바 코드서명 방식을 개선함으로써 기존연구가 해결하지 못한 취약점을 해결하였다.

BERT를 이용한 딥러닝 기반 소스코드 취약점 탐지 방법 연구 (A BERT-Based Deep Learning Approach for Vulnerability Detection)

  • 김문회;오희국
    • 정보보호학회논문지
    • /
    • 제32권6호
    • /
    • pp.1139-1150
    • /
    • 2022
  • SW 산업의 급속한 발전과 함께 새롭게 개발되는 코드와 비례해서 취약한 코드 또한 급증하고 있다. 기존에는 전문가가 수동으로 코드를 분석하여 취약점을 탐지하였지만 최근에는 증가하는 코드에 비해서 분석하는 인력이 부족하다. 이 때문에 기존 Vuldeepecker와 같은 많은 연구에서는 RNN 기반 모델을 이용하여 취약점을 탐지하였다. 그러나 RNN 모델은 코드의 양이 방대할수록 새롭게 입력되는 코드만 학습되고 초기에 입력된 코드는 최종 예측 결과에 영향을 주지 못하는 한계점이 있다. 또한 RNN 기반 방법은 입력에 Word2vec 모델을 사용하여 단어의 의미를 상징하는 embedding을 먼저 학습하여 고정 값으로 RNN 모델에 입력된다. 이는 서로 다른 문맥에서 다른 의미를 표현하지 못하는 한계점이 있다. BERT는 Transformer 모델을 기본 레이어로 사용하여 각 단어가 전체 문맥에서 모든 단어 간의 관계를 계산한다. 또한 MLM과 NST 방법으로 문장 간의 앞뒤 관계를 학습하기 때문에 취약점 탐지와 같은 코드 간 관계를 분석해야 할 필요가 있는 문제에서 적절한 방법이다. 본 논문에서는 BERT 모델과 결합하여 취약점 탐지하는 연구를 수행하였고 실험 결과 취약점 탐지의 정확성이 97.5%로 Vuldeepecker보다 정확성 1.5%. 효율성이 69%를 증가하였다.

소스코드 기반 소프트웨어 취약점 평가 자동화 방안 연구 (A Study of Source Code-based Automated Software Vulnerability Assessment)

  • 송준호;박재표;권현수;전문석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 추계학술발표대회
    • /
    • pp.794-796
    • /
    • 2015
  • 본 연구는 소프트웨어의 소스코드를 대상으로 보안 취약성을 자동으로 평가할 수 있는 방안을 연구하여 소프트웨어 취약점 관리의 자동화 기술 아키텍처를 제안한다. IT가 생활환경의 기반기술로 보급화 되며 소프트웨어시장이 가파르게 성장하고 있다. 영리 소프트웨어의 경우 개발기관에서 관리 및 지원을 하지만, 오픈소스 소프트웨어는 비영리 목적과 개발환경으로 인해 체계적으로 관리되기가 어려워 취약점이 발생하기 쉽다. 그럼에도 비용과 효율의 문제로 오픈소스가 광범위하게 활용되고 있어, 오픈 소스 소프트웨어를 도입한 기관 및 단체에 침해를 유발하고, 보안수준을 악화시키고 있다. 이에 오픈 소스 소프트웨어는 소스코드가 공개되는 소프트웨어라는 점을 활용하여 소스코드 수준에서의 취약점 관리 자동화를 지원함으로써, 오픈소스 소프트웨어를 활용하는 분야의 보안 환경을 안전하게 향상시킬 수 있다.

code2vec 모델을 활용한 소스 코드 보안 취약점 탐지 (Detection of Source Code Security Vulnerabilities Using code2vec Model)

  • 양준혁;모지환;홍성문;도경구
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제16권2호
    • /
    • pp.45-52
    • /
    • 2020
  • 소스 코드의 보안 취약점을 탐지하는 전통적인 방법은 많은 시간과 노력을 필요로 한다. 만약 보안 취약점 유형들에 대한 좋은 품질의 데이터가 있다면, 이와 머신러닝 기술을 활용해 효과적으로 문제를 해결할 수 있을 것이다. 이에 본 논문은 정적 프로그램 분석에 머신러닝 기술을 활용하여 소스 코드에서 보안 취약점을 탐지하는 방법을 제시하고, 실험을 통하여 가능성을 보인다. 메소드 단위의 코드 조각의 의미를 해석하여 메소드의 이름을 예측하는 code2vec 모델을 사용하고, 모델을 생성하고 검증 및 평가를 하기 위한 데이터로 흔히 발생할 수 있는 보안 취약점을 모아놓은 Juliet Test Suite를 사용하였다. 모델 평가 결과 약 97.3%의 정밀도와 약 98.6%의 재현율로 매우 희망적인 결과를 확인하였고 오픈 소스 프로젝트의 취약점을 탐지함으로써 가능성을 보였다. 향후 연구를 통해 다른 취약점 유형과 다양한 언어로 작성된 소스 코드에 대해서 대응함으로써 기존의 분석 도구들을 대체할 수 있을 것이다.

공개 정적 분석도구를 활용한 JAVA 보안취약성 분석 (JAVA Security Vulnerability Improvement Using Open Static Analysis Tools)

  • 오동준;장영수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 춘계학술발표대회
    • /
    • pp.392-395
    • /
    • 2015
  • 인터넷 확산에 따라 소프트웨어의 보안 취약점을 이용한 공격이 커지고 있다. 이와 같은 공격을 방지하기 위해서는 응용프로그램을 사전에 보안 취약점을 분석하여 분석된 취약점에 대해서는 시큐어 코딩을 적용하여 취약한 코드를 개선해야한다. 본 논문에서는 보안취약점을 분석하기 위한 공개 정적분석도구를 활용하여 분석하고 취약점 유발 코드는 시큐어 코딩을 적용하여 소프트웨어 보안을 할 수 있게 적용하였다.

보안 취약점 자동 탐색 및 대응기술 동향

  • 장대일;김태은;김환국
    • 정보보호학회지
    • /
    • 제28권2호
    • /
    • pp.33-42
    • /
    • 2018
  • 머신러닝 및 인공지능 기술의 발전은 다양한 분야 활용되고 있고, 이는 보안 분야에서도 마찬가지로 로그 분석이나, 악성코드 탐지, 취약점 탐색 및 대응 등 다양한 분야에서 자동화를 위한 연구가 진행되고 있다. 특히 취약점 탐색 및 대응 분야의 경우 2016년 데프콘에서 진행된 CGC를 필두로 바이너리나 소스코드 내의 취약점을 정확하게 탐색하고 패치하기 위해 다양한 연구가 시도되고 있다. 이에 본 논문에서는 취약점을 탐색 및 대응하기 위해 각 연구 별 탐색 기술과 대응 기술을 분류 및 분석한다.

안드로이드 코드서명의 취약점을 이용한 악성 앱에 관한 연구 (A Study on Malicious App using Vulnerability of Android Code-Signing)

  • 박경용;조태남
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.568-571
    • /
    • 2013
  • 스마트 폰의 보급량이 증가함에 따라 모바일 악성코드의 위협도 높아졌다. 여러 스마트 폰 플랫폼 중 안드로이드 플랫폼은 높은 점유율과 개방형 플랫폼이라는 특성상 다른 플랫폼에 비해 악의적인 공격에 취약하다. 안드로이드 앱이 스마트 폰에 설치, 실행되기 위해서는 개발자의 서명이 요구된다. 안드로이드 서명체계는 다중 서명을 허용하는데, 다중서명 체계상 악용될 수 있는 취약점이 존재한다. 본 연구에서는 안드로이드 코드서명의 취약점을 이용하여 악성코드를 실행시키고 다른 앱을 감염시키는 악성 앱을 개발하여 취약점의 악용 가능성에 대해 연구하였다.

퍼징 기반의 상용 및 공개 소프트웨어에 대한 보안약점 진단 방법 연구

  • 임기영;강성훈;김승주
    • 정보보호학회지
    • /
    • 제26권1호
    • /
    • pp.27-33
    • /
    • 2016
  • 보안 약점은 소스코드의 공개 여부와는 관계없이 존재하며, 소프트웨어의 취약점으로 이어질 수 있다. 소스코드가 공개된 소프트웨어의 경우 소스 코드 분석을 통해 보안 약점을 제거하지만, 소스코드가 공개되지 않고 바이너리 형태의 실행파일만 제공되는 소프트웨어의 경우에는 보안 약점을 찾기가 어렵다. 비정상 데이터를 임의로 생성하여 파일 또는 표준입력 형태로 입력하는 퍼징 기법은 위와 같은 소스코드가 공개되지 않은 소프트웨어의 취약점을 찾기 위한 기술이다. 본 논문에서는 소스코드가 없는 상용 및 공개 소프트웨어의 보안 약점을 진단하기 위해 퍼징 기법을 활용하는 방법을 제시하고, 공개된 퍼징 도구 및 프레임워크를 이용하여 설치부터 소프트웨어의 진단 및 발견된 보안 약점을 분석, 제거 등의 퍼징 프로세스를 소개하여 상용 및 공개 소프트웨어 취약점 발견에 도움을 줄 것으로 기대한다.