• 제목/요약/키워드: source code vulnerability

검색결과 40건 처리시간 0.028초

바이너리 코드 취약점 탐지를 위한 딥러닝 기반 동적 오염 탐지 기술 (Deep Learning based Dynamic Taint Detection Technique for Binary Code Vulnerability Detection)

  • 고광만
    • 한국정보전자통신기술학회논문지
    • /
    • 제16권3호
    • /
    • pp.161-166
    • /
    • 2023
  • 최근 바이너리 코드에 대한 신종·변종 해킹이 증가되고 있으며 소스 프로그램에서 악성코드를 탐지하고 공격에 대한 방어 기술의 한계점이 자주 노출되는 상황이다. 바이너리 코드에 대해 머신러닝, 딥러닝 기술을 활용하여 고도화된 소프트웨어 보안 취약점 탐지 기술과 공격에 대한 방어와 대처 능력이 필요하다. 본 논문에서는 바이너리 코드의 실행 경로를 추적(execution trace)하여 동적 오염 정보를 입력한 후 오염 정보를 따른 특징을 기반으로 멀웨어를 그룹핑하는 멀웨어 클러스터링 방법을 제안한다. 멀웨어 취약점 탐지는 3-계층으로 구성한 Few-shot 학습 모델에 적용하여 각 계층의 CPU, GPU에 대해 F1-score를 산출하였다. 학습 과정에서 97~98%의 성능과 테스트 과정에서 80~81% 정도의 탐지 성능을 얻었다.

보안 취약점 검사를 위한 AOP 기반의 동적 분석 (Dynamic Analysis based on AOP for Checking Security Vulnerability)

  • 서광익;최은만
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권10호
    • /
    • pp.773-778
    • /
    • 2010
  • 국제 웹 어플리케이션 보안 연구 단체(OWASP)는 2007년에 이어 2010년에도 취약점 대부분이 사용자의 외부 데이터 입력에 기인한 것으로 발표했다. 이러한 오염된 입력 데이터는 실행 시점에서 결정되기 때문에 동적인 취약점 분석이 필요하다. 동적 분석 방법은 주로 실행 시점의 데이터 분석이나 경로 흐름 분석을 위해 인스트루먼트를 코드 내에 삽입 한다. 하지만 직접적인 코드의 삽입은 관리와 확장이 어려워 분석 범위와 대상이 증가할 때 마다 코드 조각들이 흩어지게 된다. 게다가 인스트루먼트 모듈과 시험 대상 모듈 간의 결합도가 높아진다. 따라서 개발이나 유지보수 단계에서 삽입한 분석 코드를 수정하거나 확장하는데 많은 노력이 필요하게 된다. 본 논문은 이러한 문제점을 해결하기 위해 AOP를 이용하여 취약점을 하나의 관심사로 분류함으로써 결합도의 증가 없이 삽입, 삭제와 유연한 확장이 용이한 방법을 제안한다.

Application Consideration of Machine Learning Techniques in Satellite Systems

  • Jin-keun Hong
    • International journal of advanced smart convergence
    • /
    • 제13권2호
    • /
    • pp.48-60
    • /
    • 2024
  • With the exponential growth of satellite data utilization, machine learning has become pivotal in enhancing innovation and cybersecurity in satellite systems. This paper investigates the role of machine learning techniques in identifying and mitigating vulnerabilities and code smells within satellite software. We explore satellite system architecture and survey applications like vulnerability analysis, source code refactoring, and security flaw detection, emphasizing feature extraction methodologies such as Abstract Syntax Trees (AST) and Control Flow Graphs (CFG). We present practical examples of feature extraction and training models using machine learning techniques like Random Forests, Support Vector Machines, and Gradient Boosting. Additionally, we review open-access satellite datasets and address prevalent code smells through systematic refactoring solutions. By integrating continuous code review and refactoring into satellite software development, this research aims to improve maintainability, scalability, and cybersecurity, providing novel insights for the advancement of satellite software development and security. The value of this paper lies in its focus on addressing the identification of vulnerabilities and resolution of code smells in satellite software. In terms of the authors' contributions, we detail methods for applying machine learning to identify potential vulnerabilities and code smells in satellite software. Furthermore, the study presents techniques for feature extraction and model training, utilizing Abstract Syntax Trees (AST) and Control Flow Graphs (CFG) to extract relevant features for machine learning training. Regarding the results, we discuss the analysis of vulnerabilities, the identification of code smells, maintenance, and security enhancement through practical examples. This underscores the significant improvement in the maintainability and scalability of satellite software through continuous code review and refactoring.

안전한 웹 서버 환경을 위한 시큐어코딩 도구, 웹쉘 탐지도구 간의 상호연동 시스템 설계 (A Design of Inter-Working System between Secure Coding Tools and Web Shell Detection Tools for Secure Web Server Environments)

  • 김범용;최근창;김준호;석상기
    • 디지털산업정보학회논문지
    • /
    • 제11권4호
    • /
    • pp.81-87
    • /
    • 2015
  • Recently, with the development of the ICT environment, the use of the software is growing rapidly. And the number of the web server software used with a variety of users is also growing. However, There are also various damage cases increased due to a software security vulnerability as software usage is increasing. Especially web shell hacking which abuses software vulnerabilities accounts for a very high percentage. These web server environment damage can induce primary damage such like homepage modification for malware spreading and secondary damage such like privacy. Source code weaknesses checking system is needed during software development stage and operation stage in real-time to prevent software vulnerabilities. Also the system which can detect and determine web shell from checked code in real time is needed. Therefore, in this paper, we propose the system improving security for web server by detecting web shell attacks which are invisible to existing detection method such as Firewall, IDS/IPS, Web Firewall, Anti-Virus, etc. while satisfying existing secure coding guidelines from development stage to operation stage.

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

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

  • PDF

산업제어시스템의 소스코드 보안 취약점 검증 룰 선정을 위한 평가 기준 개발 (Development of evaluation criteria for selection of source code security vulnerability verification rules for industrial control systems)

  • 김은비;최이수;한동준
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 추계학술발표대회
    • /
    • pp.449-452
    • /
    • 2021
  • 산업제어시스템은 IT 기술의 발전에 따라 다양한 기기 환경과 네트워크를 적용해 진화하고 있다. 이러한 상황에서 사이버 보안의 위협은 가중되고 있으며, 이를 예방하는 방법의 하나로 산업제어시스템에 탑재되는 소프트웨어의 소스코드 개발 과정에서 보안 취약점을 예방하기 위해 소스코드 보안 룰을 적용하여 위반사항을 제거한다. 본 연구에서는 소스코드 보안 룰에서 적용 우선순위를 선정하기 위한 가이드를 개발한다.

리눅스 커널 변수 취약성에 대한 소스레벨 발견 방법론 (A Source-Level Discovery Methodology for Vulnerabilities of Linux Kernel Variables)

  • 고광선;강용혁;엄영익;김재광
    • 정보보호학회논문지
    • /
    • 제15권6호
    • /
    • pp.13-25
    • /
    • 2005
  • 오늘날 리눅스 운영체제는 임베디드 시스템, 라우터, 대규모 서버에 이르기까지 다양한 분야에 사용되고 있다. 이는 리눅스 운영체제가 추구하는 커널 소스 공개 정책이 시스템 개발자들에게 여러 가지 이점을 주기 때문이다. 하지만 시스템 보안 측면에서 볼 때, 리눅스 커널 소스 공개는 보안상 문제점을 발생시킬 수 있는데, 만일 누군가가 리눅스 기반의 시스템을 공격하려 한다면 그 공격자는 리눅스 커널의 취약성을 이용하여 쉽게 시스템을 공격할 수 있기 때문이다. 현재까지 소프트웨어의 취약성을 분석하는 방법은 많이 있었지만 기존의 방법들본 방대한 크기의 리눅스 커널 소스에서 취약성을 발견하기에 적합하지 않다. 본 논문에서는 소스레벨 리눅스 커널 변수 취약성을 발견하는 방법론으로 Onion 메커니즘을 제안한다. Onion 메커니즘은 두 단계로 이루어져 있는데, 첫 번째 단계는 패틴매칭 방법을 이용하여 취약 가능성이 있는 변수들을 선정하는 단계이고, 두 번째 단계는 선정된 변수들의 취약 여부를 시스템 콜 트리를 이용해 검사하는 단계이다. 또한 본 논문에서 제안한 방법론을 이미 알려진 두 가지 소스레벨 취약성에 적용한 결과를 보인다.

공격 결과 기반의 웹 취약점 위험도 평가 모델 연구: 사이버 킬체인 중심으로 (A Study on Web Vulnerability Risk Assessment Model Based on Attack Results: Focused on Cyber Kill Chain)

  • 진희훈;김휘강
    • 정보보호학회논문지
    • /
    • 제31권4호
    • /
    • pp.779-791
    • /
    • 2021
  • 보통의 웹 서비스는 불특정 다수에게 허용을 해야하는 접근 통제 정책으로 인하여, 지속적으로 해커들의 공격 대상이 되어 왔다. 이러한 상황에 대응하고자 기업들은 주기적으로 웹 취약점 점검을 실시하고, 발견된 취약점의 위험도에 따라 조치를 취하고 있다. 이러한 웹 취약점 위험도는 국내외 유관기관의 사전 통계 및 자체적인 평가를 통해 산정되어 있다. 하지만 웹 취약점 점검은 보안설정 및 소스코드 등의 정적 진단과는 달리 동적 진단으로 이루어진다. 동일한 취약점 항목일지라도 다양한 공격 결과를 도출할 수 있으며, 진단 대상 및 환경에 따라 위험도가 달라질 수 있다. 이러한 점에서 사전 정의된 위험도는 실제 존재하는 취약점의 위험도와는 상이할 수 있다. 본 논문에서는 이러한 점을 개선하고자 사이버 킬체인 중심으로 공격 결과 기반의 웹 취약점 위험도 평가 모델을 제시한다.

SW 개인 개발자를 위한 Secure_Coding 가이드 지원 도구 설계 (Secure Coding guide support tools design for SW individual developers)

  • 손승완;김광석;최정원;이강수
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2014년도 춘계학술대회
    • /
    • pp.595-598
    • /
    • 2014
  • 최근의 사이버 공격은 보안패치가 발표되기 이전의 보안취약점을 악용하는 제로 데이(Zero Day) 공격, 웹 사이트를 대상으로 한 공격이 주를 이루고 있다. 이러한 공격은 소프트웨어 자체에 내장된 보안취약점을 이용하는 것이 대부분으로, 특히나 소스코드의 보안취약점을 이용한 사이버 공격은 보안장비로는 대응이 어려운 특성을 가진다. 따라서 이러한 공격을 예방하기 위해 소프트웨어를 구현하는 단계에서부터 보안취약점을 배제 시켜야한다. 본 논문에서는 구현단계에서부터 보안위협을 해소하는 Secure Coding 가이드 지원 도구를 설계하고자 한다.

  • PDF

AppLock 정보 은닉 앱에 대한 취약점 분석 (Vulnerability analysis for AppLock Application)

  • 홍표길;김도현
    • 정보보호학회논문지
    • /
    • 제32권5호
    • /
    • pp.845-853
    • /
    • 2022
  • 스마트폰의 메모리 용량이 증가하면서 스마트폰에 저장된 개인 정보의 종류와 양도 증가하고 있다. 하지만 최근 악의적인 공격자의 악성 앱이나 수리기사 등의 타인으로 인해 스마트폰의 사진, 동영상 등의 다양한 개인 정보가 유출될 가능성이 증가하고 있기 때문에, 사용자의 이러한 개인 정보를 보호할 수 있는 다양한 정보 은닉 앱이 출시되고 있다. 본 논문은 이러한 정보 은닉 앱의 암호 알고리즘 및 데이터 보호 기능을 분석하여 안전성 및 취약점을 분석 및 연구했다. 이를 위해 우리는 Google Play에 등록된 정보 은닉 앱 중에서 전 세계적으로 가장 많이 다운로드된 AppLock 3.3.2 버전(December 30, 2020)과, 5.3.7 버전(June 13, 2022)을 분석했다. 접근 제어 기능의 경우, 사용자가 입력한 패턴을 암호화하기 위한 값들이 소스 코드에 평문으로 하드코딩 되어있으며 암호 알고리즘이 적용된 패턴 값은 xml 파일에 저장한다는 취약점이 존재했다. 또한 금고 기능의 경우 금고에 저장하기 위한 파일과 로그 파일을 암호화하지 않는 취약점이 존재했다.