• 제목/요약/키워드: 소스코드자동화

검색결과 63건 처리시간 0.035초

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

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

IT융합 산업자동화를 위한 오픈소스의 활용

  • 성민영;최철
    • 기계저널
    • /
    • 제53권11호
    • /
    • pp.59-62
    • /
    • 2013
  • 근래 들어 기계-IT 융합의 중요성이 부각되면서 오픈 소스 소프트웨어에 대한 관심이 증가하고 있다. 이 글에서는 전통적 기계 분야 중 하나인 산업자동화 분야에서의 오픈소스 개발 사례를 소개한다. 상용 제품 수준의 사용자 편의성과 성능을 제공하면서도 소스 코드가 공개되어 있으므로 연구자에게는 연구 및 교육을 위한 실제적인 실험환경이 되며, 기업에게는 핵심 소프트웨어 기술을 확보하고 IT 융합적 시도를 신속히 실현하기 위한 기반이 될 수 있다.

  • PDF

Scratch-Pad Memory를 위한 코드 변환 기법 (Code Transformation Techniques for Scratch-Pad Memory)

  • 문대경;이재진
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.577-579
    • /
    • 2004
  • 전원을 전적으로 배터리에 의존하는 모바일 임베디드 시스템은 배터리 용량의 한계 때문에 효율적인 에너지의 사용이 매우 중요하다. 특히 memory subsystem은 전체 system에서 소모되는 에너지에서 큰 비중을 차지한다. 이 논문은 성능 면에서 cache의 대안이 되고, cache보다 간단한 구조 때문에 전력소모가 훨씬 적은 on-chip scratch-pad memory(SPM)를 효율적으로 이용할 수 있는 소스 코드 변환 방법 및 SPM 관리방법을 제안한다. 각 함수 단위로 코드 변환을 하며, 어떤 변수를 SPM에 할당하기 위한 소스코드 변환을 했을 때, 소스코드 분석만으로 알 수 있는 변수의 정적인 참조 횟수를 가중치로 고려하여, 코드 변환 후 메모리 참조에 의한 실행 시간과 에너지 소모를 계산하고 이를 바탕으로 SPM에 할당한 변수를 결정한 다음 실제 그 코드 변환을 적용한다. 제안된 코드 변환은 컴파일러에 의해 자동화 될 수 있다. 10개의 임베디드 벤치마크 프로그램을 이용하여 본 논문에서 제안하는 방법의 성능 평가를 한 결과, 실행 시간은 평균 23% 향상되고 에너지 소모는 평균 49% 감소함을 알 수 있다.

  • PDF

온라인 저지 시스템 지원을 위한 Feature-Wise Linear Modulation 기반 소스코드 문맥 학습 모델 설계 (Learning Source Code Context with Feature-Wise Linear Modulation to Support Online Judge System)

  • 현경석;최우성;정재화
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제11권11호
    • /
    • pp.473-478
    • /
    • 2022
  • 온라인 저지 시스템 지원하기 위한 표절 검사, 소스코드 분석 및 자동화된 튜터링 기법이 연구되고 있다. 최근 딥러닝 기술 기반의 소스코드 유사도 분석을 통한 표절 감지 기술들이 제안되었으나, 자동화된 튜터링을 지원하기 위한 딥러닝 기반의 연구는 미흡한 실정이다. 따라서 본 논문에서는 자바 바이트코드와 문제정보를 결합하여 학습하고, 학습자가 온라인 저지 시스템에 코드를 제출하기 전에 pass/fail 여부를 예측할 수 있는 GRU 기반의 Input / Output side FiLM 모델을 제안한다. 또한 온라인 저지에 수집되는 데이터의 특성상 비대칭이 발생하기 때문에 밸런스 샘플링 기법을 적용하여 데이터를 균등하게 분포시켜 두 상황을 제안한 모델로 학습하였다. 실험 결과 Input side FiLM 모델이 가장 높은 73.63%의 성능을 보였다. 이를 기반으로 학습자들이 온라인 저지의 평가를 받기 전에 pass/faill 여부를 확인하여 소스코드 개선에 대한 피드백 기능에 적용 가능할 것으로 예상된다.

코드 이력을 이용한 버전 정보 관리 자동화에 관한 연구 (Study on automated version information management using code history)

  • 김은영;조현;최순규;이상훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (B)
    • /
    • pp.82-84
    • /
    • 2003
  • 소프트웨어는 개발단계에서부터 유지/보수단계에 이르기까지 끊임없이 변경되며 하드웨어와 달리“변하기 쉬운 특성”과“눈에 보이지 않는 특성”을 가지고 있어 소프트웨어의 형상관리를 어렵게 한다. 소프트웨어 형상 관리를 용이하게 하고 이를 통해 개발 생산성을 높이기 위해 많은 소프트웨어 하우스에서는 형상 관리 도구를 도입하여 소프트웨어 개발에 이용하고 있다. 그러나 도입된 형상 관리 도구의 활용 형태를 보면 대부분 버전 관리 부분인데 이는 개발자들이 변경 정보를 충실히 작성하지 않으면 형상 아이템의 버전만 관리될 뿐 실질적인 변경 정보는 각 버전의 비교를 통해서만 알 수 있다. 따라서 본 논문은 형상 관리 아이템 중 코딩 표준에 따라 작성되는 소스 코드를 대상으로 새로운 버전이 생성될 때마다, 변경 정보를 소스 코드로부터 추출하여 자동으로 형상 관리 도구의 버전 관리 정보로 등록하여 관리함으로써 소스 코드와 형상 관리 도구의 버전 정보를 통합하여 관리하는 방안을 제시하고자한다.

  • PDF

비주얼 C++소스 코드를 위한 obfuscator 구현 (Implementation of an Obfuscator for Visual C++ Source Code)

  • 장혜영;조성제
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권2호
    • /
    • pp.59-69
    • /
    • 2008
  • 자동화된 obfuscation은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라고 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++ 소스 프로그램을 보호하기 위한 obfuscation 기법을 제안하고 구현하였다. 즉, 원본 비주얼 C++ 소스 프로그램을 기능은 동일하지만 이해하기에는 훨씬 힘든 또 다른 프로그램으로 변환시켜 주는 도구인 코드 obfuscator를 구현하였다. 비주얼 C++ 소스를 다루기 위해 ANTLR이라는 파서 생성기를 도입하여, '주석 제거', '식별자 스크램블', '변수 분할', '배열 중첩', '클래스 삽입', '루프 조건 확장'. '부가 피연산자 삽입', '무의미 코드 삽입' 등의 변환 방식들을 구현하였다. 또한, 복잡도, 복원력, 비용 등의 측면에서 본 obfuscator의 성능과 유효성을 평가하였다. 원본 소스 코드와 비교하여 실험한 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

Kochat: 한국어 목적지향 챗봇 프레임워크 (Kochat: Korean Goal-oriented Chatbot Framework)

  • 고현웅;박규병
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 추계학술발표대회
    • /
    • pp.596-599
    • /
    • 2021
  • 목적지향 챗봇은 일상생활의 많은 부분을 자동화하기 위해 우리의 삶에 널리 보급되고 있다. 그러나 목적지향 챗봇은 보통 많은 모듈이 연결된 파이프라인의 형태로 구현되기 때문에 기계학습 초보자 혹은 비전문가가 직접 구현하기에는 어려운 편이다. 때문에 모든 모듈을 직접 구현하기보다는 유료 챗봇 빌더나 오픈소스 프레임워크를 통해 구현된다. 현재 영어는 몇 가지 오픈소스가 존재하지만 한국어는 관련 오픈소스가 전무한 상황이다. 본 논문에서는 이러한 문제를 해결하기 위해 한국어 전용 오픈소스 목적지향 챗봇 프레임워크인 Kochat 을 제안한다. 사용자는 Kochat 을 이용하여 약 20~30 줄의 코드만으로 손쉽게 자신만의 목적지향 챗봇을 학습 및 배포할 수 있다. 모든 소스코드와 문서는 https://github.com/hyunwoongko/kochat에서 확인할 수 있으며, 추가로 논문의 말미에 후속 연구에 대해서도 논의한다.

소스코드기반의 GUI 테스트 자동화 기법의 구현 (An Automated Test Technique of GUI Based on Source Code)

  • 문중희;이남용
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권9호
    • /
    • pp.697-705
    • /
    • 2009
  • GUI 테스트의 자동화는 크게 두 가지로 분류하여 생각해 볼 수 있다. 즉, 회귀 테스트 (Regression Test) 자동화와 테스트 자동화(Automated Test)이다 전자는 테스트 케이스를 수동으로 생성하고 수행만을 자동화하는 의미를 가지는 반면, 후자는 테스트 케이스 생성 자체의 자동화도 포함한다. 점차 테스트에 소요되는 비용이 커지는 상황에서 테스트 자동화 방안을 계속적으로 모색하고 있으나 실제 적용되는 방법은 대부분 회귀 테스트에 한정되어 있다. 즉, 테스트를 처음 수행하는 단계에서는 직접 테스트 케이스를 생성하는 작업이 요구된다. 관련하여 기존의 많은 연구들이 상태 전이도를 기반으로 테스트 케이스를 자동으로 생성하는 방안을 제안하고 있으나 이 방법 역시 사람이 상태 전이도를 작성해야하는 문제를 남기게 된다. 본 논문에서는 자동화 범위를 보다 확대하여 소스코드를 기반으로 테스트 케이스를 자동으로 생성하고 수행하는 방안을 소개한다. 논문에서는 디지털 텔레비전에 탑재되는 셋탑 박스 기반의 어플리케이션 프로그램을 대상으로 연구하였으며 기존에 필요했던 수작업이 없이도 테스트 자동화를 진행하는 것이 가능하다는 것을 실제 적용 사례로 제시하였다. 물론 본 연구결과를 아직 일반화하여 적용할 수는 없을 것이다. 그러나 기존의 테스트 자동화 기법 및 연구들과 비교하여 본 연구결과는 수작업의 양을 보다 줄일 수 있었고 이후 완전한 테스트 자동화 또한 가능하다는 것을 보였다는데 그 의의가 있을 것이다.

가전 기기 소프트웨어를 위한 C 코딩 스타일 검사기 (C Coding Style Checker for Home Appliance Software)

  • 임진수;이동주;조인행;우균
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 추계학술발표대회
    • /
    • pp.291-294
    • /
    • 2010
  • 표준 코딩 스타일은 개발 단계에서 오류 가능성이 있는 코드를 사전에 차단하고 코드의 가독성을 높여 소스코드의 품질을 높일 수 있는 대표적인 방법이다. 자동차 분야에서는 MISRA-C 와 같은 표준 코딩 스타일이 있으며 이를 검사하는 다수의 도구가 개발되었다. 본 논문에서는 소프트웨어의 안전성 및 신뢰성을 기반으로 국제 및 산업 표준 권고 사항과 경험적인 사례를 바탕으로 가전 기기 소프트웨어에 적합한 코딩 스타일 43 종을 정의했으며 이를 구현한 자동화 도구를 개발했다. 개발된 C 코딩 스타일 검사기를 이용하여 냉장고와 세탁기에 탑재된 소스코드에 대상으로 실험해 개발자들이 쉽게 위배하는 규칙에 대해서 살펴보았다. 위배한 코딩 스타일 중 주석관련 스타일이 각 소스코드 별로 64%, 24%로 가장 많이 차지하고 있으며, 제어문 관련 규칙이 12%, 17%, 코드 모양(Layout)관련 규칙이 4%, 11% 순으로 나타났다. 본 논문에서 개발한 코딩 스타일 검사 도구는 향후 양산되는 제품에 계속적으로 적용될 것이며 소프트웨어 품질 향상에 실질적인 도움이 될 것으로 기대된다.

악성코드의 효율적인 분석을 위한 안전한 오픈소스 함수에 대한 시그니처 기반 식별 도구 (A Tool for Signature-Based Identification of Safe Open-Source Functions Toward Efficient Malware Analysis)

  • 이석수;양종환;정우식;김영철;조은선
    • 정보보호학회논문지
    • /
    • 제27권4호
    • /
    • pp.721-729
    • /
    • 2017
  • 악성코드에 대한 빠른 대응을 위해서는 악성코드에 대한 효율적인 분석이 필요하다. 그 중 하나로, 오픈 소스 함수들과 같이 안전한 것으로 확인된 부분을 분석 대상에서 제외하여 방대한 분석 대상을 줄이는 방법이 도움이 될 수 있다. 본 논문은 여러 오픈소스의 동적 링크 라이브러리 파일을 윈도우 환경에서 생성하여 오픈소스의 함수 정보들을 버전별, 컴파일러별로 시그니처 정보를 추출하고 비교하여 변경이 의심스러운 함수를 찾을 수 있는 자동화 도구를 제시한다. 또한 해당 도구는 비교에 사용된 정보들을 DB에 저장, 추후에 사용할 수 있어 분석 시간 오버헤드를 줄일 수 있다.