• Title/Summary/Keyword: 역공학 기반

Search Result 70, Processing Time 0.029 seconds

Android-based mobile messenger application vulnerability analysis and secure coding method (안드로이드 기반 모바일 메신저 취약점 분석 및 시큐어 코딩 적용방안)

  • Paik, Chan Ho;Sun, Jong Min;Ryu, Ki Dong;Moon, Byeong Jong;Kim, Tae wan;Kim, Woo Je
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2014.01a
    • /
    • pp.83-87
    • /
    • 2014
  • 본 논문에서는 안드로이드 스마트폰 환경에서 높은 점유율을 가진 카카오톡 모바일 메신저 앱에 대하여 행정안전부가 고시한 Android-JAVA 시큐어 코딩가이드의 입력 데이터 검증 및 표현, API악용, 보안특성, 시간 및 상태, 에러처리, 코드 품질, 캡슐화 등 18가지 보안 취약점을 분석하고, 해당 취약점에 대한 시큐어 코딩 기법을 적용한다. 먼저 현재 상용화되고 있는 카카오톡 모바일 메신저 코드를 역공학(리버스엔지니어링)방법을 이용하여 코드단에서 소스를 분석한다. 실제 코드에서 시큐어 코딩이 안드로이드 스마트폰 환경에서 행정안전부가 고시한 Android-JAVA 시큐어 코딩가이드를 기준으로 취약한 부분을 찾고, 적용이 안 되어 있는 부분에 안드로이드 환경에 맞는 시큐어 코딩 기법을 적용한다.

  • PDF

A design for reverse engineering based model change information analysis and visualization framework (역공학 기반 모델간 변경분석 및 시각화 도구의 설계)

  • Kwon, Jin-Wook;Lee, Jung-Sun;Cao, Thi Ly;Lee, Woo-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.140-143
    • /
    • 2010
  • 소프트웨어를 유지보수하고 관리하는 과정에서 변경된 정보가 프로그램 구조에서의 어느 부분을 나타내고 그 변경이 전체 구조에서 어떤 영향을 미치는가에 대한 체계적이고 효율적인 관리방법이 필요하게 되었다. 기존의 상용화 프로그램에서 채택하고 있는 코드레벨에서의 라인과 라인상의 비교분석 정보만으로는 프로그램의 변경을 구조적인 관점에서 바라보기가 힘들었다. 이 논문에서는 역공학을 이용해서 변경전후의 프로그램 모델구조 정보를 얻고 그 정보를 서로 비교 분석하는 방법을 제시한다. 또, GMF(graphical modeling framwork)로 프로그램의 모델정보를 클래스 다이어그램 형태로 보여주며 비교분석된 정보를 다이어그램에서 보여줄 수 있는 시각화 규칙을 제시한다. 변경된 정보를 다이어그램에서 쉽게 파악할 수 있게 표현함으로써 프로그램 개발자가 아니라도 유지보수에서의 변경을 구조적으로 알 수 있고 관리할 수 있다.

  • PDF

An Evaluation of the Proguard, Obfuscation Tool for Android (안드로이드를 위한 난독화 도구 프로가드(Proguard) 성능 평가)

  • Park, Heewan;Park, Heekwang;Ko, Kwangman;Choi, Kwanghoon;Youn, Jonghee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.730-733
    • /
    • 2012
  • 소프트웨어는 대부분 바이너리 형태로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 한다. 즉, 자바 언어로 프로그래밍하고 생성된 클래스 파일을 dx라는 도구를 사용하여 안드로이드용 달빅(Dalvik) 코드로 변환한다. 따라서 안드로이드 역시 자바의 취약점을 가지고 있고, 자바용으로 개발된 역공학 도구에 의해서 쉽게 분석될 수 있다. 한편으로 자바 프로그램의 저작권을 보호하고 핵심 알고리즘이 노출되지 않도록 다양한 난독화 도구들이 개발되었다. 그 중에서 안드로이드 SDK에 포함되어 함께 배포되고 있기 때문에 널리 사용되고 있는 프로가드(Proguard)에 대해서 대표적인 기능 및 사용법, 프로가드로 난독화된 코드가 원본과 비교하여 어떻게 변경되었는지 평가한다. 그리고 프로가드가 가지고 있는 한계를 알아보고, 이것을 극복할 수 있는 방법을 모색한다.

Activity based state diagram generation for White-box testing of Android applications (안드로이드 어플리케이션의 화이트박스 테스트를 위한 액티비티기반의 상태도 생성기법)

  • Baek, Tae San;Jha, Ajay Kumar;Lee, Woo Jin
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.1198-1199
    • /
    • 2012
  • 본 논문에서는 안드로이드 어플리케이션의 화이트박스 테스트를 위해 안드로이드의 특성인 액티비티의 라이프사이클을 고려하여 상태도를 생성하는 기법에 대한 연구이다. 상태도를 생성 하기 위해 소스코드에서 역공학을 통해 생성된 호출그래프에 어플리케이션내의 여러 액티비티의 라이프 사이클정보를 추가하여 액티비티 상태도를 생성한다.

An Object Extraction Technique for Object Reusability Improvement based on Legacy System Interface (객체 재사용성 향상을 위한 레거시 시스템 인터페이스 기반 객체추출 기법)

  • 이창목;유철중;장옥배
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.11
    • /
    • pp.1455-1473
    • /
    • 2004
  • This paper suggests a technique, TELOR(Technique of Object Extraction Based on Legacy System Interface for Improvement of Object Reusability) for reuse and reengineering by analyzing the Legacy System interface to distill the meaningful information from them and disassemble them into object units which are to be integrated into the next generation systems. The TELOR method consists of a 4 steps procedure: 1) the interface use case analysis step, 2) the interface object dividing step, 3) the object structure modeling step, and 4) the object model integration step. In step 1, the interface structure and information about the interaction between the user and the Legacy System are obtained. In step 2, the interface information is divided into semantic fields. In step 3, studies and models the structural and collaborative relationship among interface objects. Finally, in step 4, object model integration step, integrates the models and improves the integrated model at a higher level. The objects integration model created through TELOR provides a more efficient understanding of the Legacy System and how to apply it to next generation systems.

Library Management and Services for Software Component Reuse on the Web (Web 소프트웨어 컴포넌트 재사용을 위한 라이브러리 관리와 서비스)

  • Lee, Sung-Koo
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.1_2
    • /
    • pp.10-19
    • /
    • 2002
  • In searching and locating a collection of components on the Web, users require a Web browser. Since the Web libraries tend to grow rapidly, there needs to be an effective way to organize and manage such large libraries. Traditional Web-based library(retrieval) systems provide various classification scheme and retrieval services to store and retrieve components. However, these systems do not include invaluable services, for example, enabling users to grasp the overall contents of the library at the beginning of retrieval. This paper discusses a Web-based library system, which provides the efficient management of object-oriented components and a set of services beyond simple component store and retrieval. These services consist of component comprehension through a reverse engineering process, automated summary extraction, and comprehension-based retrieval. Also, The performance of an automated cluster-based classification scheme adopted on the system is evaluated and compared with the cluster-based classification scheme adopted on the system is evaluated and compared with the performance of two other systems using traditional classification scheme.

Development of Graphical Solution for Computer-Assisted Fault Diagnosis: Preliminary Study (컴퓨터 원용 결함진단을 위한 그래픽 솔루션 개발에 관한 연구)

  • Yoon, Han-Bean;Yun, Seung-Man;Han, Jong-Chul;Cho, Min-Kook;Lim, Chang-Hwy;Heo, Sung-Kyn;Shon, Cheol-Soon;Kim, Seong-Sik;Lee, Seok-Hee;Lee, Suk;Kim, Ho-Koung
    • Journal of the Korean Society for Nondestructive Testing
    • /
    • v.29 no.1
    • /
    • pp.36-42
    • /
    • 2009
  • We have developed software for converting the volumetric voxel data obtained from X-ray computed tomography(CT) into computer-aided design(CAD) data. The developed software can used for non-destructive testing and evaluation, reverse engineering, and rapid prototyping, etc. The main algorithms employed in the software are image reconstruction, volume rendering, segmentation, and mesh data generation. The feasibility of the developed software is demonstrated with the CT data of human maxilla and mandible bones.

A Technique of Object Extraction Based on the Legacy System Interface for the Improvement of Object Reusability (객체 재사용성 향상을 위한 레거시 시스템 인터페이스기반 객체추출 기법)

  • 이창목;최성만;유철중;장옥배
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10b
    • /
    • pp.472-474
    • /
    • 2004
  • 본 연구는 레거시 시스템의 인터페이스 정보로부터 의미 있는 정보를 파악하여 새로운 시스템에 통합될 수 있도록 하기 위한 기존 레거시 시스템의 인터페이스에 기반한 객체추출 기법을 제안한다. 본 논문에서 제안하는 객체추출 기법은 인터레이스 사용사례 분석 단계, 인터페이스 객체 분할 단계, 객체구조 모델링 단계, 객체 모델 통합 단계 등 4단계로 구성되어 있다. 인터페이스 사용사례 분석 단계는 인터페이스 구조, 레거시 시스템과 사용자간의 상호작용 정보를 획득하는 단계이다. 인터페이스 객체분할 단계는 인터페이스 정보를 의미 있는 필드들로 구분하는 단계이며, 객체구조 모델링 단계는 인터페이스 객체들간의 구조적 관계와 협력 관계를 파악하여 모델링 하는 단계이다. 마지막으로 객체 모델 통합 단계는 객체 단위의 단위 모델들을 통합하여 추상화된 정보를 포함한 상위 수준의 통합 모델을 유도하는 단계다. 객체추출 기법에 의해 생성된 객체 통합 모델은 역공학 기술자들의 레거시 시스템 이해와 레거시 시스템의 정보를 새로운 시스템에 적용하는데 있어 효율성을 극대화할 수 있다.

  • PDF

Development of JDT Based Static Analyzer for Code Analysis (코드 분석을 위한 JDT 기반 정적 분석기 개발)

  • Park, Min-Gyu;Byun, Eun-Young;Han, Jeong-Wha;Kim, Robert Youngchul;Moon, So-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2015.10a
    • /
    • pp.969-972
    • /
    • 2015
  • 오늘날 소프트웨어의 크기는 계속 증가하고 있는데 반해 IT 벤처/중소 업체의 경우 요구사항 및 설계 문서가 없는 경우가 빈번하다. 이러한 시스템의 경우 코드를 이해하여 수정이나 유지보수를 하는데 많은 시간과 비용이 투자된다. 또한 벤처/중소 업체에서 역공학 도구, 테스트 프로세스 등을 도입하여 소프트웨어 품질 향상을 시키기는 현실적으로 비용 면에서 어려움이 있다. 본 연구는 내재된 코드의 오류를 찾기 위해 JDT 기반 정적 분석기를 제안한다. 제안한 분석기의 설계 구조 및 구현으로 개발자 주도 코드 분석을 통해 코드 품질을 향상 시킬 것이다. 또한 요구사항과 코드의 불일치에 대한 가시화를 통해 소프트웨어의 유지보수성을 향상 시킬 것이다.