RISS 학술연구정보서비스

검색

인기 검색어

    다국어 입력

    http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

    변환된 중국어를 복사하여 사용하시면 됩니다.

    예시)
    • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
    • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
    닫기

    검색결과 좁혀 보기

    선택해제
    • 좁혀본 항목 보기순서

      • 원문유무
      • 음성지원유무
      • 학위유형
      • 주제분류
        펼치기
      • 수여기관
        펼치기
      • 발행연도
        펼치기
      • 작성언어
      • 지도교수
        펼치기

    오늘 본 자료

    • 오늘 본 자료가 없습니다.
    더보기
    • 역공학 프로세스의 개선 및 시스템 설계에서의 응용에 관한 연구

      이병길 아주대학교 일반대학원 2010 국내박사

      RANK : 247807

      The systems engineering (SE) design process has been playing a crucial role in the development of new systems. The SE process can be modeled to consist of the requirements analysis, the functional analysis, the synthesis and the optimization subprocesses. It is noted that this SE process is applied repeatedly at each layer of the system's hierarchy as well as at each stage of the system life cycle. Through the repetition the risks and uncertainty possibly incurred in the system development can gradually be decreased. A design methodology could change for the systems development if similar systems are already physically implemented and in operation. A good candidate for the situation would be the systems design approach based on the reverse engineering and re-engineering design process. In this case the use of the design information extracted from the reverse engineering of the existing system is expected to decrease the effort and risks for the new system development. Here, the method of extracting or generalizing the low level design information of the system in operation to make up the higher level information is called reverse engineering. In this dissertation, we are particularly interested in the use of reverse engineering in the design method of the combined reverse engineering and re-engineering process. The analysis of the previous literature on the reverse engineering indicated that the concept of the reverse engineering has been studied in a variety of engineering fields. In particular, a great deal of effort has been made in the field of software engineering in which increased attention has been noticed due to the direct relationship between the reverse engineering the crucial hacking wars in the IT systems. On the other hand, the research activities in SE area appear to be insufficient. The major results on the reverse engineering process from the SE point of view turned out to be simply at a conceptual level and thus it seems not easy to verify and apply the process in practice. Although the process for the new system development requires a variety of SE artifacts, it is not easy to achieve the goal with the reverse engineering process reported so far. The objectives of the dissertation is three-fold. First of all, the improvement on the reverse engineering process is studied. Secondly, In order to foster the understanding and the use of the improved process, the process is graphically modeled. Finally, to demonstrate the applicability and practical value of the developed process, its application is carried out for a real example using the computer-aided SE tool (CASE), Core. As for the methods of approach, we first set up the requirements a 'complete' reverse engineering process should satisfy to improve the existing results. Also, we introduce a preprocessing step prior to develop the system functional requirements. In addition, modeling and implementation of the developed process using the CASE tool is considered to verify it and to evaluate its applicability in practice. The results of research obtained following the aforementioned objectives and methods are as follows. The developed reverse engineering process shows the improvement in terms of the following factors. The inputs and outputs of each subprocess were clearly specified. The overall reverse engineering process has been decomposed to the point where it can be. The relationship among the identified subprocesses has been clearly specified both horizontally and vertically. The control flow of all the subprocesses has been correctly determined. Next the developed process has been modeled using the graphic models IDEF0 and Enhanced Functional Flow Block Diagram (eFFBD). In this paper, we defined improved reverse engineering process that proposed to this study in terms of input, output, control, and mechanisms according to the passage of time using IDEF0, eFFBD (Enhanced Functional Flow Block Diagram) of CORE that is commercial tool for supporting systems engineering. Also we defined SE artifact based on system hierarchy's viewpoint by breaking down results of each phase into requirements structure, functional structure, physical structure through reverse engineering analysis and build items of each artifact through MIL-STD-961D. In order to verify this paper, we selected assessment methods of the systems engineering capability model (SECM). As a result, a level of maturity of this paper can be determined as above level 1. In addition, 2 level and 3 level show attainment close to 70%. We can judge that the improved reverse engineering process that proposed to this paper have potentially the ability to be able to support 2 level and 3 level. In order to confirm the feasibility of the improved reverse engineering process that proposed to this paper, we were applied to each step of reverse engineering process targeting OPO laser range finder system. And then SE output of each step is developed. Also we proposed how to take advantage of laser range finder development that the feature was added in by applying the results of analysis of reverse engineering. The improved reverse engineering process that proposed to this paper can be applied to the development of the SE artifacts through working physical system and will contribute to reduce the difference of reverse engineering design output according the ability of engineers as detail each phase of the reverse engineering in terms of systems engineering and raise the engineering's maturity level of the concept design phase. 새로운 시스템을 개발할 때 중요한 역할을 하는 시스템공학 설계 프로세스는 이해관계자의 요구사항에 대해 요구사항 분석, 기능 분석, 조합 및 최적화의 활동을 수행한다. 이러한 시스템공학 프로세스는 시스템의 각 계층에 대해서 그리고 각 수명 주기별로도 반복적으로 적용 된다는 것이 특징이기도 하는데, 이를 통해 발생 가능한 리스크를 각 단계 마다 식별하여, 개발 위험 및 불확실성을 줄일 수가 있게 된다. 개발하려는 시스템과 유사한 시스템이 존재하는 경우에 대한 설계방법론 중의 하나로 기존 시스템에 대한 역공학 수행 후에 재공학에 의한 설계 수행을 들 수가 있다. 이 경우에 역공학을 통해 습득된 기존의 설계 정보를 활용함으로써 새로운 시스템 설계시의 노력과 위험성을 줄이기 위한 방법으로 볼 수 있다. 이렇게 물리적으로 구현되어 동작하는 시스템에 대해 시스템 설계과정을 역으로 거슬러 올라가면서 기 구현된 설계 정보를 추출 및 역으로 추상화하는 방법을 역공학이라고 한다. 역공학의 여러 가지 활용 방법 중에서 역공학-재공학 설계 방법론을 통한 역공학의 활용에 본 논문에서 초점을 맞추고 있다. 선행 연구의 분석 결과 여러 분야에서 다양한 역공학 설계 프로세스가 연구되었음을 확인할 수가 있었다. 특히 소프트웨어 분야의 경우 해킹 등이 역공학적 방법과 직접 관련이 있고, 이로 인한 폐해가 국가 IT 시스템 체계에 막대한 영향을 미치고 있기 때문에, 기존에 수행해 왔던 역공학과 관련된 다양한 연구에 더 많은 관심이 증대되고 있다. 이와는 달리 시스템공학 분야에서 역공학 분석에 관한 연구는 부족하다. 현재까지 연구된 시스템공학 관점의 역공학 설계 프로세스는 단순한 개념 수준에서 제시하고 있어, 제시된 프로세스의 검증이 불가능하고, 실제 적용이 쉽지 않다. 특히 시스템공학을 적용하여 시스템을 개발하는 경우에 시스템 수명주기 단계 별 많은 설계 산출물이 필요한데, 기존의 역공학 프로세스로 이 목적을 달성하기는 쉽지 않다. 본 논문에서는 1) 미흡한 역공학 프로세스에 대한 개선을 통해 적용 가능한 프로세스를 개발하고, 2) 개발된 프로세스의 이해 및 활용이 용이하도록 모델링을 통하여 표현하고, 3) 실제 대상시스템 및 전산지원도구의 활용을 통해 개발된 역공학 프로세스의 적용성 및 실용성의 가시화를 연구 목표로 설정하였다. 연구방법으로서 현재까지 연구된 SE 관점의 역공학 프로세스의 미흡한 점을 보완하기 위해 ‘complete’한 프로세스의 개념을 먼저 정립하였고, 또한 시스템 기능 요구사항을 도출하기 전에 선 처리 단계를 추가하였다. 그리고 개발된 프로세스의 이해도 및 적용성의 증진 그리고 프로세스의 검증이 가능하도록 모델링 및 전산지원도구를 통한 표현 방법을 채택하였다. 상기 연구 목표를 달성하기 위해 기술된 연구 방법의 적용을 통해 수행된 연구 결과를 정리해 보면 다음과 같다. 먼저 개선된 역공학 프로세스의 특징을 4가지로 용약할 수 있다. 1. 역공학 설계 프로세스 각 단계의 입력물과 출력물을 명확하게 기술하였다. 2. 역공학 설계 프로세스의 모델 표현을 통해 입력/출력 결과물 사이의 관계를 명확하게 기술하였다. 3. 역공학 설계 프로세스의 각 요소들 사이의 관계를 명확하게 식별하였다. 4. 식별된 요소 프로세스 들 사이의 상하 및 상호 관계가 명확히 기술하였다. 다음으로 연구 결과인 개선된 역공학 프로세스를 그래픽 모델인 IDEF0와 eFFBD (Enhanced Functional Flow Block Diagram)로 모델링하는 연구를 수행하였다. 이러한 모델링 작업에 대한 체계화를 위해 시스템공학 전산지원도구인 CORE^( ⓡ)IDEF0와 eFFBD (Enhanced Functional Flow Block Diagram) 기능을 활용하였다. 개발된 모델들에 시간의 흐름에 따른 입력, 출력, 제어, 메커니즘을 정의하였다. 또한 역공학 분석을 통한 각 단계의 결과물을 요구사항 구조, 기능 구조, 물리적 구조로 세분화하여 시스템 계층구조 관점의 SE 산출물을 정의하고, 각 산출물의 항목을 MIL-STD-961D를 통해 구축하였다. 본 논문의 연구 결과인 역공학 프로세스의 검증 및 평가가 수행되었는데, Core를 활용한 프로세스 시뮬레이션을 통해 프로세스의 검증을 수행하였다. 프로세스의 평가를 위해서는 시스템공학 능력 모델(SECM)의 평가 방법을 채택하였다. 그 결과 본 논문의 성숙도는 1수준을 상회하는 것으로 판단할 수가 있었다. 또한 2수준과 3수준의 경우 70%에 근접한 달성도를 보였다. 이는 2수준과 3 수준을 지원할 수 있는 능력을 잠재적으로 가지고 있다고 판단할 수 있다. 본 논문에서 제시한 개선된 역공학 프로세스의 실용성을 보여 주기 위해 동작하는 물리 시스템에 대한 적용 연구를 수행하였다. 대상시스템으로 레이저 거리 측정 시스템을 선택하여, Core 환경에서 개선된 역공학 프로세스를 적용하여 주요한 SE 산출물을 개발함으로써 적용 가능성을 확인하였다. 또한 시스템공학 관점에서 역공학 프로세스의 각 단계를 상세화 함으로써 엔지니어의 능력에 따른 역공학 분석 결과물 들의 품질 차이를 줄이고, 시스템 설계 단계에 역공학 분석 결과를 응용할 수 있는 방안임을 보였다.

    • 차량내부통신 프로토콜 형식 역공학 연구

      지청민 아주대학교 2022 국내박사

      RANK : 247757

      차량 내부에는 수 십여 개의 ECU(Electronic Control Unit)가 하나 이상의 CAN(Controller Area Network) 버스로 연결되어 서로 정보를 주고받는다. 임의의 공격자는 차량 외부로부터 이 CAN 버스에 대한 쓰기 권한을 획득하여 특정 차량을 제어할 수 있다. 차량 제조사들은 대개 이를 막는 방법으로 IDS 등 외부로부터의 공격을 막는 수단과 함께 CAN의 포맷 정보인 DBC(Database for CAN)를 비밀로 유지하는 전략을 취한다. 이는 제조사 입장에서 불가피한 측면이 있으나, 결국 공격을 막는 데는 한계가 있다. 반면 이는 IDS 등의 새로운 CAN 보안 기술의 연구 또는 차량내부통신에 대한 보안성 테스트 연구에 장벽으로 작용한다. 본 논문에서는 이러한 문제를 완화하기 위해 임의의 차량의 CAN 형식을 역공학하는 방법을 두 가지 제안한다. 첫 번째 방법은 차량의 OBD-II 포트를 통해 수집되는 CAN 트레이스만을 입력으로 하여 블록 기반 방식을 기반으로 데이터 필드 내 형식 정보를 추론한다. 두 번째 방식은 머신 러닝의 분류 알고리즘(classification algorithm)을 기반으로 형식 정보를 추론한다. 해당 방식에서는 데이터 필드 내 존재하는 최소 단위 포맷인 시그널의 유형 별 특징을 수치화할 수 있는 총 9가지 특징을 선정하고 이에 따른 데이터셋을 생성한다. 그 뒤 분류 알고리즘을 이용하여 해당 데이터셋을 학습한 분류기를 생성하고 이를 시그널의 경계 예측에 활용한다. 해당 방식은 인터넷으로 수집 가능한 실제 차량의 CAN 트레이스, 그리고 실제 차량 데이터와 유사한 가상의 CAN 트레이스를 대상으로 검증되었으며, 기존의 방식보다 최소 10% 이상 더 많은 시그널 경계를 예측할 수 있음을 보인다. 본 연구에서 제안하는 차량내부통신 프로토콜 역공학 방법은 차량내부통신 보안기술 연구에 요구되는 역공학 비용을 줄이고 임의의 차량을 대상으로 수행되는 보안성 테스트의 유효성을 높이는데 기여한다.

    • 역공학 기법을 통한 전 차륜 조향장치 개발

      김기정 아주대학교 일반대학원 2009 국내석사

      RANK : 247727

      최근 임베디드 시스템에서 일반적인 제품 개발은 종전에 존재하지 않은 새로운 제품을 개발하는 것보다 기존 제품의 성능 및 기능을 보완하여 향상된 목표 제품을 개발하는 것이 대부분이다. 이로 인해 효율적인 역공학 기법의 필요성이 대두되며, 여러 역공학 기법들이 연구되고 있다. 하지만, 대부분의 기법들로는 기존 제품의 요구사항 기술과 요구사항 검증에 사용한 정보를 새로운 목표 제품의 개발 및 검증에 사용하기 힘들다. 본 연구에서는 역공학의 방법 중 하나로 테스트 장비인 R-bench를 통한 역공학 기법을 설명한다. 이 기법은, 기존 개발된 제품에 대한 자료를 분석해 R-bench를 이용, 시스템의 요구사항을 기술하고, 테스트를 통한 요구사항의 적합성 검증 과정을 의미한다. 이 방법의 사용으로 요구사항을 체계적으로 보관할 수 있으며, 보다 빠른 속도로 정확한 요구사항 기술 및 검증이 가능하다. 또한, 요구사항의 적합성 검증을 위해 테스트 장비인 R-bench로 기존 제품에 대한 테스트를 실시하는 과정에서 사용한 테스트 케이스 및 테스트 스크립트를 새로운 시스템의 검증에 바로 사용할 수 있어 보다 빠른 시스템 개발이 가능하다.

    • 역공학 공격에 대한 소프트웨어 보호 기법

      장혜영 단국대학교 대학원 2010 국내박사

      RANK : 247727

      소프트웨어 역공학 기술의 발달로 인해 소프트웨어 불법복제, 핵심 알고리즘의 유출, 지적재산권 분쟁 증가 등의 문제가 점점 심각해지고 있다. 본 논문에서는 역공학 공격으로부터 소프트웨어를 보호하기 위한 역공학 방지 기법에 대해 연구하였다. 즉, 소스코드 레벨의 난독처리, 디버깅 방지 기술이 포함된 안전한 코드 패킹, 그리고 이들을 통합한 방법을 제시하고 그 효과를 검증하였다. 먼저 C와 C++ 소스 코드 레벨의 난독처리 기법을 구현하고 성능을 평가하였다. 레이아웃 난독화를 위해 형식변환, 주석제거, 식별자 스크램블 등을 적용하였고, 자료구조 난독화를 위해 변수분할, 배열중첩 등의 알고리즘을, 제어흐름 난독화를 위해 루프조건 확장, 부가 피연산자 삽입 등의 알고리즘을 적용하였다. 난독화의 효과를 검증하기 위해 윈도우 및 리눅스 환경에서 구현하여 난독처리 전과 후의 복잡도, 복원력, 비용 등을 측정하였다. 두 번째로, 바이너리 코드를 암호화 또는 압축하여 정적인 역분석을 방어하는 코드 패킹 기술을 연구하였다. 안전도 강화를 위해 언패킹을 위한 스텁 코드의 핵심 부분을 분할하여 별도 저장함으로써 역공학을 더 어렵게 하였다. 본래 패킹의 단점은 실행 시에는 메모리상에서 패킹된 코드가 드러난다는 것이다. 이러한 문제점을 해결하기 위해, API 기반의 디버깅 방지 기술과 타이밍 지연 체크 기반의 디버깅 방지 기술을 패킹 기술에 통합하여 실행 기반의 동적인 역분석도 방어할 수 있었다. 마지막으로, 소스 코드 난독처리 후 안티 디버깅 기법이 포함된 패킹 기법을 통합한 기법을 구현하여 그 효과를 분석하였다. 실험을 통해, 소스 코드 수준의 난독화, 바이너리 코드 수준의 패킹, 실행 기반의 디버깅 방지 등의 역공학 방어 기법을 통합한 기법이, 하나의 역공학 방어 기법을 적용할 때 보다 더 안전하고 적용 범위 면에서도 효과적임을 확인하였다. 또한, 각 기법들 간의 상호 의존성이 거의 없어, 통합 기법에서 성능 저하가 크지 않음을 보였다. As the technologies of software reverse engineering have made great development, the problems such as software piracy, illegal leakage of core algorithms inside software, and software intellectual property disputes have become graver issues. The thesis studies anti-reverse engineering techniques to protect software against reverse engineering attacks. That is, we have proposed source code-level obfuscation, secure code packing including anti-debugging methods, and integration schemes of these techniques, and then verified their effectiveness. This these has first implemented an obfuscation tool based on C/C++ source code-level, and evaluated its performance. The tool is equipped with some transformation algorithms which transform layout, data structure, and control flow of the target program. We have applied (a) format transformation, removal of comments, and scramble of identifiers for layout obfuscation, (b) splitting variables and folding arrays for data obfuscation, and (c) extension of loop condition and insertion of additional operands for control flow obfuscation. To verify the effect of the obfuscation algorithms, we have implemented them under Windows and Linux systems, and measured the complexity, resilience, and cost of original and obfuscated programs, respectively. Secondly, we have studied code packing technique which prohibits static reverse analysis using encrypting or compressing the binary code. In order to strengthen the security level of the technique, it makes reverse engineering more difficult by storing separately the main part of stub code for unpacking the packed code. The disadvantage of the conventional packing method is that the packed code can be disclosed on memory at runtime. To remedy this problem and defend the target code against an execution-based dynamic analysis, we have integrated both API-based anti-debugging and anti-debugging of checking a timing delay into the conventional packing method. Thirdly, the thesis has integrated the two anti-debugging approaches into the packing method after having applied source code-level obfuscation, and then analyzed the effect of the integration technique. Experimental results show that the integration technique is more secure and has wider coverage compared to any one of anti-reverse engineering method. Moreover, the overhead of the integration technique was negligible since there was little interaction among anti-reverse engineering methods in the viewpoint of interdependency.

    • 역공학을 통한 비구면 렌즈의 설계 및 사출성형에 관한 연구

      송기혁 인하대학교 대학원 일반대학원 2015 국내석사

      RANK : 247695

      구면 렌즈는 하나의 곡률을 가지며 이로 인하여 광선 높이에 따른 초점이 변하여 구면수차가 발생하게 된다. 구면수차는 초점이 한 점으로 결상하는 것을 방해하는데 이는 렌즈의 분해능에 직접적이 영향을 미쳐 렌즈 성능의 저하를 가져온다. 이를 해결하기 위해 개발자들은 굴절률이 적고 투과율이 높은 유리 소재의 렌즈를 조합하여 사용하거나 두께를 두껍게 설계한 렌즈를 사용하였다. 이는 가볍고 편리하며 값싼 제품을 원하는 현대의 소비자들의 요구에 미치지 못하게 되는 원인이 된다. 이를 해결하기 위해 플라스틱 소재의 비구면 렌즈의 사용이 증대되고 있다. 비구면 렌즈란 2개 이상의 곡률을 가진 곡면형상의 렌즈로서 높이에 따른 각각의 입사하는 광선을 한 점으로 모아 구면수차가 발생하지 않는다. 한편 연마 기술의 발전은 고정도의 형상면 가공을 요하는 렌즈의 생산을 사출금형을 통해 가능하게 하였다. 이미 고 성능을 요하지 않는 렌즈의 소재로는 플라스틱을 많이 사용하고 있으며 핸드폰 카메라와 같이 소형화 및 고성능을 요하는 렌즈 역시 플라스틱 소재를 사용하고 있다. 하지만 고성능을 요하는 렌즈의 경우 플라스틱의 수축 및 가공오차에 의한 문제로 인해 어려움을 겪고 있는 것이 현실이다. 또한 렌즈를 설계하여 생산하여도 생산된 제품과 실제 설계 데이터와의 성능을 비교하기가 매우 어렵다. 따라서 본 연구에서는 임의의 광학용 비구면 렌즈를 선정한 후 역공학을 통해 임의의 렌즈에 대한 형상분석 및 설계 데이터의 추출을 진행 하였다. 또한 추출된 설계 데이터를 기반으로 개선된 렌즈의 설계를 진행하였으며 개선된 렌즈 설계 데이터에 대한 성형해석을 수행하였다. 이를 통해 임의의 플라스틱 렌즈에 대한 형상 검증 방법 및 생산에 대한 하나의 프로세스를 제시하였다. 역공학이란 제품 개발 시 사용되는 프로세스 중 하나로서 CAD 데이터가 없는 제품의 설계 시 이용하는 방법으로써 일반적인 제품개발 순서의 역방향으로 진행되어 지는 일련의 설계 과정을 말한다. 역공학의 프로세스는 크게 측정, 분석, 모델링으로 분류 할 수 있다. 본 연구에서 사용한 측정 장비는 CMM의 장비에 레이저를 부착하여 사용하는 비 접촉식 장비와 모아레 무늬를 사용하는 비접촉식 장비를 사용하여 축정하였으며 비구면 형상에 대한 분석을 하였다. 제품의 생산 시 발생했을 오차들을 고려한 가장 근접한 비구면식을 도출하기위해 렌즈에 대한 측정 데이터를 Z축에 위치시킨 후 렌즈형상의 만곡점을 기준으로 일정한 간격으로 등분하였다. 최소자승법을 통해 각각의 높이에 따른 데이터에 대한 반지름 값을 추출한 후 이를 다시 Z축을 기준으로 재구성 하여 새로운 비구면 렌즈의 단면을 만들었다. 재구성된 단면 데이터를 비구면 식에 대입하여 비구면식의 미지수를 도출하였으며 반응표면 분석법을 통해 재구성된 단면 형상에 대한 비구면식의 근사화를 진행하였다. 근사화 된 비구면식은 근본적으로 실제 데이터에 대한 오차 값을 가지고 있으며 임의의 렌즈에서 추출한 렌즈의 설계 데이터 이므로 렌즈로서의 성능 또한 알 수 없다. 이를 해결하기 위해 렌즈 설계 프로그램인 Zemax를 이용하여 렌즈에 대한 성능 분석 및 개선된 성능을 위한 최적화를 진행 하였다. 최적화의 경우 다른 수차 보다는 구면 수차 제거 및 MTF 값에 중점을 두고 진행 하였다. 최적화 결과 임의의 렌즈에 대한 MTF 측정 결과와 비슷한 결과를 도출할 수 있었다. 최적화된 비구면 렌즈에 대한 사출성형해석을 진행하기 위해 CAD Modeling을 하였으며 성형해석을 위한 수지와 해석조건을 선정 하였다. Moldflow를 이용하여 사출시간과 사출온도에 대한 성형 해석을 진행하였다. 사출시간에 대한 해석을 통해 사출 시간이 증가할수록 일정 구간 사출압력은 낮아지는 경향을 보였으며 용융온도에 대한 해석을 통해 용융온도가 높아질수록 사출압력은 낮아지나 변형(Deflection) 값이 높아지는 경향을 보였다. 또한 단일 렌즈에 대한 성형해석을 통해 렌즈 두께에 따른 수축량이 비례함을 볼 수 있었다. 이러한 해석 결과를 토대로 적절한 사출 성형 조건을 찾을 수 있었다.

    • 정적 기능 분석을 위한 FPGA 비트스트림 역공학 기법 연구

      서예지 연세대학교 정보대학원 2019 국내석사

      RANK : 247693

      프로그래밍의 유연성과 재구성이 가능하다는 장점으로 인해 FPGA는 다양한 분야에서 사용되고 있다. FPGA 칩의 복잡도가 증가함에 따라 회로 설계를 위탁하거나 IP를 사용하는 경우가 많으며, 이러한 경우 제 3자를 통해 개발된 회로에 기능상의 이상이 없는지 분석할 필요가 있다. 기존의 동적 분석 방법은 커버리지에 대한 문제가 있으며, 정적 분석은 소스코드 혹은 넷리스트를 필요로 하기 때문에 회로 개발의 결과로 비트스트림 파일이 주어질 경우 정적 분석은 불가능하다는 한계점이 있다. 따라서 기능 분석을 위해 비트스트림을 넷리스트 수준으로 역공학하기 위한 방법이 연구되어야 한다. 본 연구에서는 구현된 회로의 정적 기능 분석을 위한 기반 기술로써, Xilinx Virtex-5 대상의 FPGA 비트스트림으로부터 회로의 연결 정보와 기능 구현 정보를 역공학하는 방법을 제안한다. 기존의 FPGA 비트스트림 역공학 연구를 기반으로 연결 정보를 나타내는 PIP 정보를 복구하고, 비트스트림과의 맵핑 관계 분석을 통해 기능 구현에 사용된 LUT 정보를 복구하는 방법을 제시한다. 제안하는 역공학 기법의 성능을 평가하기 위해 임의의 회로를 역공학하고 그 결과를 상세히 분석한다. ue to the flexibility in programming and ability of reconfiguration, FPGAs are used in a variety of fields. As the complexity of FPGA chip design increases, the circuit design is outsourced to the third-party company generally and pre-developed IP(Intellectual Property) modules are used. In this phase, verification of the developed circuit from outside must be performed to check whether unintentional or malicious functionality is implemented or not. Dynamic analysis can be adapted to verify the implemented circuit but there are coverage problems for triggering all the functions. Static analysis cannot be performed when the circuit is provided as the bitstream file because the source code or netlist is mandatory for static analysis. Therefore, the methodology for reverse engineering an FPGA bitstream must be studied. In this paper, the FPGA bitstream reverse engineering method to recover the routing and functional information of an implemented circuit is proposed. The proposed method recover the PIP(Programmable Interconnect Point) and LUT(Look-up Table) information from the Xilinx Virtex-5 bitstream. To evaluate the performance of proposed method, the experiment using arbitrary circuit samples are conducted and the result is presented.

    • A Study on Reverse Engineering Techniques for Apps and Ransomware

      Kim Giyoon 국민대학교 일반대학원 2024 국내박사

      RANK : 247690

      In the ever-changing field of digital forensics, reverse engineering is emerging as a pivotal method for recovering and obtaining data. As digital techniques advance, data encryption techniques are being widely used, particularly to address privacy protections. Therefore, the most challenging part of digital forensics these days is obtaining evidence from encrypted data. From this perspective, reverse engineering can be an effective method of collecting digital evidence. This thesis attempts to facilitate digital evidence collection using reverse engineering, with a special focus on secure instant messengers, content locking apps, and ransomware. Data encrypted by secure instant messengers and content locking apps is sometimes impossible to obtain without the active cooperation of the owner. Consequently, apps that encrypt data to protect personal information can be exploited by criminals to hide evidence of their crimes. Our study targets apps that encrypt data that has been or could be involved in real-world abuse cases. Ransomware can make it difficult to obtain original data post-infection. For this reason, ransomware is often used to conceal other malicious activities in addition to cybercrime. Data infected with ransomware is usually difficult to decrypt without the attacker’s private key. Therefore, research on ransomware is challenging, but we conduct research on it because it is one of the main areas of interest from a digital forensics perspective. The apps analyzed in this thesis include secure instant messengers such as WhatsApp, AWS Wickr, Telegram X, Unigram, BBM-Enterprise, and Private Text Messaging, as well as content locking apps such as LG’s Content Lock, QuickMemo Plus, and Gallery. For ransomware study, we analyzed the HIVE and Rhysida ransomware. We performed reverse engineering on each software to analyze the encryption processes and the structure of the encrypted data. As a result, we discovered all data encryption logic. So we propose a method for reconstructing the encryption key or user-entered password, and present a method for decrypting the data. We proposed new possibilities for apps that were previously deemed impossible to investigate and ransomware that is known to be difficult to decrypt without the attacker’s private key. 본 논문에서는 역공학을 기반으로 다양한 모바일 및 PC 기반 애플리케이션의 암호화된 데이터의 복호화 방안을 제시한다. 끊임없이 변화하는 디지털 포렌식 분야에서 역공학은 데이터를 복구하고 획득하기 위해 중추적인 도구로 부상되고 있다. 디지털 기술의 발달로 데이터 암호화 기법이 보편화됨에 따라 나날이 강화되는 개인정보 보호 기법과 달리 디지털 증거 수집은 데이터 보호 기법으로 인해 그 어려움이 늘어나고 있다. 이러한 관점에서 역공학은 디지털 증거 수집을 위한 효과적인 대응 수단으로 볼 수 있다. 따라서 본 논문에서는 역공학을 활용해 원활한 디지털 증거수집을 시도하고자 한다. 본 논문의 연구 대상은 크게 세 가지로 보안 인스턴트 메신저, 데이터 잠금 기능이 존재하는 애플리케이션 그리고 랜섬웨어다. 보안 인스턴트 메신저와 데이터 잠금 기능에 의해 암호화된 데이터는 피의자의 적극적인 협조가 없는 경우 때때로 원본 데이터의 획득이 불가능해진다. 그러다 보니 보안 기능이 존재하는 애플리케이션은 때때로 범죄에 악용되기도 한다. 본 논문에서는 실제 악용 사례가 존재하는 애플리케이션과 이에 준하는 보안 기능이 존재하여 악용될 여지가 존재하는 애플리케이션을 분석 대상으로 선정하였다. 연구 대상이 된 보안 인스턴트 메신저로는 WhatsApp, AWS Wickr, Telegram X, Unigram, BBM-Enterprise 그리고 Private Text Messaging가 있으며, 데이터 잠금 애플리케이션으로는 LG의 Content Lock, QuickMemo Plus 그리고 Gallery가 있다. 랜섬웨어의 경우 HIVE와 Rhysida를 분석 대상으로 한다. 한번 감염되면 원본 데이터의 획득이 어려운 것으로 알려진 랜섬웨어는 때때로 디지털 범죄 정황을 은폐하는 수단으로 활용되기도 한다. 우리는 각각의 연구 대상에 역공학을 수행하여 암호화 과정을 분석하고 암호화된 주요 데이터의 구조를 살펴본다. 결과적 으로 우리는 모든 데이터의 암호화 로직을 밝혀내는 데 성공하였으며, 암호화에 사용된 암호키 또는 사용자 입력 비밀번호의 재구성 방안을 제시하고, 디지털 포렌식 수사에 필요한 데이터의 복호화 방안을 제시하였다.

    • 사용자 인터페이스 분석 기반 역공학의 UML 다이어그램 복원 성능 개선

      김연정 全南大學校 大學院 2003 국내석사

      RANK : 247678

      소프트웨어 역공학은 소프트웨어 개발과정의 특정 시점을 기준으로 이전 단계를 복구해내는 작업이다. 원시코드로부터 UML과 같은 정형명세의 형태로 설계문서를 복원함으로써 유지보수비용은 절감되고 시스템 확장은 효과적으로 지원된다. 원시코드로부터 UML의 논리적 뷰, 즉 클래스나 객체 다이어그램을 역공학하는 것은 성과를 나타내고 있으나 개발과정의 최종 산출물인 원시코드는 상위 설계 정보를 완전히 표현하지 않으므로 추출 성과는 한계를 가진다. 본 연구에서는 UML 다이어그램 복원의 이러한 난점을 극복하기 위해 사용자 인터페이스 분석을 통한 성능 개선 방안을 제시하고자 한다. 객체지향 개발과정에서는 현실의 객체를 파악함으로써 요구사항 분석을 시작한다. 분석된 객체의 활동은 유스케이스 다이어그램으로, 유스케이스에서 이루어지는 객체간 메시지 전달은 시퀀스나 협력 다이어그램으로 설계된다. 그리고 유스케이스는 반드시 사용자 인터페이스를 구현하도록 유도된다. 따라서 구현된 사용자 인터페이스 요소로부터 UML모델 요소를 추출함으로써 유스케이스 뷰, 즉 유스케이스, 시퀀스 및 협력 다이어그램의 복원 성능을 개선하고자 한다. Reverse Engineering of software is the process of constructuring high level specifications from lower level instantiations of an existing software system. While extracting design specification from source code have had some success in Logical view of the UML, they are unlikely to be able to completely extract Design Diagrams of UML. Because source code does not represent all of Design Information, an effort to recover Design Specifications from an existing software system have limitation. To address this problem, this paper describes User-Interface based Reverse Engineering to improve Extracting the UML Diagrams. Object- Oriented Development Process is began gathering requirement by understanding Object in the real world. An activity of object is represented as the Usecase Digram, communication of Object in the Usecase Diagram is designed by Sequence or Collaboration Diagrams. And the Usecase have to embody the User Interface. In this paper, We present an Extracting met hod UML model elememt from an implemented User Interface component for an improvement in the Usecase View(Usecase, Sequence and Collaboration Diagrams) of UML.

    • 역공학에서의 B-스플라인 곡면을 위한 이산적 순정 및 형상 보존 순정 알고리즘 개발

      홍석용 弘益大學校 大學院 2003 국내박사

      RANK : 247663

      순정이란, 곡면 형성 과정에서 생긴 의도하지 않은 오류 형상을 제거하는 과정을 말하는데, 이 과정은 주로 역공학에서 이용된다. 제품 설계에서 최근 많이 사용되는 역공학에서는 설계 대상의 형상에 대한 측정점들을 입력받아 곡면을 생성하는데, 이러한 측정점에는 측정 과정에서 발생한 오차값이 포함되기 쉽고 이와 같이 오류가 있는 점들로 만든 곡면은 의도하지 않은 편향성이나 오류 형상을 갖게 된다. 따라서, 이러한 오류를 보정하여 설계자가 의도하는 곡면의 품질을 달성하기 위해 순정이 필요하다. 본 논문에서는 B-스플라인(B-spline) 곡면의 순정을 위한 두 가지 알고리즘을 제안하였다. 하나는 곡면 형성을 위해 주어진 측정점을 사전 보정하기 위한 이산적 순정이며, 다른 하나는 측정점으로 생성한 곡면에 대해 형상 보존 제약을 적용하여 최적화를 한 형상 보존 순정이다. 먼저, 이산적 순정은 측정점에 대한 순정으로, 기존 순정 연구에서는 곡선을 형성하기 위한 측정점에 대한 순정 알고리즘은 존재하나 사각 위상 구조의 곡면 측정점에 대한 일반적인 순정은 제시된 바 없으므로, 곡선 측정점 순정 알고리즘을 곡면에까지 확장하여 적용할 수 있는 새로운 순정 방식을 제안하였다. 이것은 구체적으로, 입력된 측정점들 중 추후 곡면 품질을 저하시킬 만한 점을 택하여 변경하는 과정을 여러 번 반복하는 순정 방법이다. 이를 지역적 순정이라 하는데, 이렇게 순정을 하면 측정점들에 대해 소규모 최적화 문제를 반복하여 풀게 되어 최적화 계산의 부담이 줄어든다. 또한, 측정점 변경이 국부적으로 진행되어 측정점 전체의 특징적 형상을 훼손시키지 않는 형상 보존의 면에서 유리하다. 이렇게 측정점에 대한 국부적인 평가와 보정을 제대로 할 수 있도록 본 논문에서는 측정점에 대한 이산적 순정 평가 척도를 개발하여 사용하였다. 그러나 이산적 순정에는 단점들도 있는데, 첫째는 측정점군 경계 부근의 점들을 보정할 수 없다는 것이고 또 하나는 측정점으로 생성하는 곡면의 전역적인 품질을 높이기 어렵다는 것이다. 그리하여 측정점군을 보간하여 생성한 B-스플라인 곡면에 대한 순정을 위해서, 형상 보존 순정 알고리즘을 함께 제안하였다. 이 방법에서는 주어진 전체 곡면을 곡률 유형에 따라 분할하여 설계하는 역공학에서의 분할 과정을 가정하며, 나뉘어진 각 단위 곡면의 특징적 형상을 보존하면서 동시에 곡면에 대한 전역적 순정을 통해 품질을 향상시키는 방법이다. 이 경우에서는 곡면 경계 부분의 품질 향상이 가능하며, 곡면 형상을 보존하면서 동시에 지역적 순정이 갖는 한계를 극복한 전역적 순정을 할 수 있다. 특히, 순정을 한 후에도 곡면의 전역적 형상이 보존되도록 하기 위해, 곡률에 대한 제약 조건을 유도하여 최적화에 적용했고 곡면 형상에 따른 유형 별로 적합한 순정 평가 척도를 설정하여 사용하였다. 요컨대, 위에서 제시한 두 가지 순정 방법에서는 최종적으로 제약이 있는 비선형 최적화 문제를 푸는 과정을 통해 자동적인 순정을 수행하게 된다. 이러한 자동 순정 방법은 작업자 수작업 없이 순정이 자동 진행되는 장점이 있는데, 이를 위해 곡면 미분으로 구성된 순정 평가 척도를 설정하여 최소화 함으로 곡면을 최적화 하게 된다. 따라서 자동 순정에서 중요한 부분은 설계자 의도에 부합하는 순정 평가 척도를 구하는 것이며, 그리하여 현재까지 다양한 순정 평가 척도들이 연구되고 개발되어 왔다. 그러므로, 위에서 제시한 두 가지 순정 방법에 있어서도 이러한 순정 평가 척도를 적합하게 유도하고 이것을 최소화 함으로써 순정을 달성하였다. 마지막으로, 위와 같이 제안한 이산적 순정 알고리즘과 형상 보존 순정 알고리즘을 확증하기 위해 예제들에 대하여 순정을 수행하고 순정 결과들을 얻어냈는데, 순정 결과들을 명확하게 분석하기 위해서 곡률 분포를 통한 분석도 병행하였다. 곡률 분포를 분석한 결과, 이산적 순정 및 형상 보존 순정에서 모두 긍정적인 효과를 확인했는데 곡면의 품질을 향상시키는 면과 곡면 형상을 보존하는 면에서 모두 만족할 만한 결과를 얻을 수 있었다. 결론적으로, 이산적 순정에 있어서는 곡면 보간 없이 측정점 자체에 대하여 지역적인 순정을 하는 것이 실효성이 있다는 것을 확인할 수 있었고, 형상 보존 순정에서는 곡면의 전역적 순정과 전역적 형상 보존을 동시에 이룰 수 있는 것을 확인할 수 있었다. In reverse engineering, surfaces are modeled by interpolating data points digitized from existing objects. Designers can design new products quickly and easily with the interpolated surfaces. However, the data points digitized from the existing objects could have measuring errors. If surfaces are constructed with those data points, they could have unwanted shapes or deviations. Thus, fairing of surfaces is required to adjust the shape errors. In this paper, we propose two algorithms for fairing of B-spline surfaces. One is discrete fairing algorithm and the other is shape preserving fairing algorithm. The discrete fairing algorithm is for fairing of data points of a surface. In this algorithm a data point, which can cause shape errors in a surface to be constructed, is modified iteratively. This method is called local fairing. Using the local fairing, computation load for optimization is reduced. And it has the advantage of surface shape preservation, because it modifies one data point in each optimization process. To evaluate and improve local fairness of data points, we derive and use discrete fairness metrics. However, our discrete fairing algorithm has two limitations. One is that it cannot improve fairness of the data points which are near the boundary of whole point set and the other is that it cannot perform global fairing on a surface. Thus, we also propose shape preserving fairing algorithm. It is for fairing of B-spline surfaces which are constructed by interpolating data points. And we assume that a given whole surface is segmented by distribution type of Gaussian and mean curvatures in reverse engineering. On the assumption, we perform global fairing on a unit surface, which is constructed after the segmentation process. Because of the global fairing method, we can fair even the boundary of a given surface. In addition, the global shape of the given surface is preserved after fairing process. For this preservation, we derive and apply constraints on signs of Gaussian and mean curvatures to surface optimization and adopt new fairness metrics. To implement the proposed automatic fairing algorithms, we model and solve constrained nonlinear optimization problems. This automatic fairing algorithm has an advantage that it makes a fairing be performed automatically without any manual works. To do this, the automatic fairing algorithm optimizes a surface by constructing and minimizing a fairness metric, which is composed of derivatives of the surface. Thus, one of the important things in implementing an automatic fairing algorithm is to derive fairness metrics suitable to designers' intents. In our proposed fairing algorithms, we implement automatic fairings by deriving and minimizing new fairness metrics suitable to our intents of fairing. Finally, we test our two fairing algorithms and get several fairing results on example surfaces to certify the algorithms. Especially, we analyze the fairing results through Gaussian and mean curvature graphs. As the result of the analysis, we find that our discrete fairing and shape preserving fairing algorithms give positive fairing results in terms of improvement of surface curvature qua1ity and preserving global shapes of original surfaces. The discrete fairing algorithm has effectiveness in faring of data points given for constructing B-spline surfaces. On the other hand, the shape preserving faring algorithm has a capability to preserve global shapes of surfaces in addition to a capability to perform global fairing.

    • 역공학의 정밀도 향상을 위한 점 데이터의 다단계 획득 및 역모델 형성에 관한 연구

      장경열 仁川大學校 大學院 2003 국내석사

      RANK : 247663

      본 연구는 역공학의 정밀도 향상을 위한 점 데이터를 획득하게 위한 다단계 방법과 역모델 형성에 관한 연구를 담고 있다. 역공학이란 실제 존재하는 물체를 측정한 후 기하학적 형상정보를 추출하여 CAD 모델을 복원하는 과정을 말한다. 역모델을 형성하기 위해서는 실물 모델로부터 점 데이터를 획득한 후 이를 가공하여 CAD모델을 얻게 되는 것이다. 따라서, 정확한 점 데이터를 획득하지 못하면 많은 오차를 지닌 모델을 생성하게 피고, 이런 오차를 수정하기 위해서 많은 인력과 시간이 투입하게 된다. 이에 본 연구는 점 데이터 획득함에 정밀도를 향상시키고, 모델링 알고리즘을 통해 역모델을 형성하고자 한다. 이를 위해서 신속하고 대량의 데이터를 획득할 수 있는 장점을 가지고 있지만 정밀도가 떨어지는 비접촉식 측정 방식과 비접촉식보다는 정밀하지만 측정 속도가 늦은 접촉식 측정 방식을 융합하여 보다 신속하고 정밀한 자동화된 측정 방법에 대해 연구하였다. 비접촉식에 의해 획득한 점 데이터를 이용하여 근사곡면 모델을 구축한 후, 생성된 모델을 이용하여 터치프로브의 경로계획을 세우게 된다. 이런 과정을 통해서 신속하고 보다 정밀한 점 데이터를 획득할 수 있는 것이다. 곡면 모델은 3가지 형태의 타입으로 분류하여 모델링 하였으며, 각 곡면은 모델링 알고리즘을 통해서 모델링하였다. 본 연구에서 연구한 센서융합을 통한 점 데이터 획득과 모델링을 통해서 기존의 역공학의 과정의 작업속도를 줄일 수 있었으며, 기존의 숙련된 작업자가 수작업을 통해서 모델을 형성하는 과정을 줄일 수 있었다. This thesis describes a Multi-step Digitizing Method and Reverse Model generation algorithm for improvement of reverse engineering accuracy. Reverse engineering is the process of reproducing computational model by directly extracting geometric information on the physical objects. To form Reverse Model, we can get the CAD model After acquiring a data from the actual object model, and process. When consequently, it cannot get the data which is accurate, it create the model which keeps a many error. To amend like this error we need the manpower and the hour when many are committed. Therefore, this thesis is to improve precision for acquiring point data, and to form Reverse Model through Modeling algorithm multi-step digitizing method. First, measuring cloud-of-point by use of a laser scanning system. Second, gathering digitizing data by a scanning touch probe. Fine digitizing plan generated from coarse surface model directly from the cloud-of-point and it allows CMM more accurate scanning data. Finally in this paper we propose the algorithm of generating NURB surface from more accurate measuring points.

    연관 검색어 추천

    이 검색어로 많이 본 자료

    활용도 높은 자료

    해외이동버튼