하나의 기계가 있을 때!!
- 어떻게 생겼고
- 기계에 무엇을 넣었을 때 무엇이 나온다면 내부 구조가 어떻게 되었는가??
- 고민해보는 것
리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學) - 위키백과
장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다.
- 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다.
내가 생각하는 리버스 엔지니어링이란?
- 2021년 2월 17일 기준 : 아직 모름...ㅋㅋㅋㅋㅋㅋㅋㅋ 일단 다음에 다시 올께요!
리버싱이 필요한 이유!
> 해커가 되고 싶다면!
> 악성코드 분석!
> 기술 보호!
> 호기심! Geek(괴짜)
리버싱 응용 분야
` 소프트웨어 : 악성코드 분석, 취약점 분석, 소프트웨어 라이센싱/크래킹, 버그헌팅, 개발(확장)
` 하드웨어 : 하드디스크 분석, IoT 기기 분석
리버싱 시작하기!!
> 리버서(리버싱을 하는 사람들) - 아래 5가지가 필요하다!!
• 아키텍처: 시스템 구조와 동작 원리에 대한 지식
• 기계어: 01010 말고 어셈블리 언어(x86/64, arm, mips)
• 도구 활용 능력: 분석의 목적과 용도에 맞는 툴을 알고 다루는 능력
• 개발: 다양한 언어를 이해하고, 복잡한 문제를 다루는 프로그램을 개발
• 경험: 다양한 패턴을 지속적으로 분석해 보는 연습
> 1. 아키텍처 이해! > 2. 기계어(언어) 이해! > 3. 도구 활용법 익히기 > 4. 개발, 분석 경험!
~~ 어떤 리버서가 될 것인가? (개발, 분석 모두 중요하지만 어떤 것에 비중을 둘 것인가?)
- 악성코드 분석:(개발 < 분석) 빠르고 정확하게 악성코드 파악 및 대응
- 취약점 분석:(개발 = 분석) 취약점 발생 원인 파악, 개선 방안 구현
- 버그 헌팅:(개발 = 분석) 대상 소프트웨어를 이해, 제로데이 도출
- 보안 개발:(개발 > 분석) 보안 결함을 최소화 하는 프로그램을 개발
- 멀티캠퍼스 리버스쿨_리버싱 분석 Level1 과정을 학습하며 작성하였습니다.
'Reverse engineering > 리버싱 분석 강의 정리' 카테고리의 다른 글
리버싱#1 NASM(넷와이드 어셈블러) 사용법 (0) | 2021.02.25 |
---|---|
리버싱#1 x86 어셈블리 소개 (0) | 2021.02.25 |
리버싱#1 어셈블리 기본!! (0) | 2021.02.19 |
리버싱#1 아키텍처 이해하기 (시스템 동작 원리) (0) | 2021.02.19 |
리버싱#1 아키텍처 이해하기! 컴퓨터 구조, CPU 아키텍처 (0) | 2021.02.17 |
댓글