본문 바로가기
Reverse engineering/리버싱 분석 강의 정리

리버싱#1 리버싱!? 리버스 엔지니어링? 리버서가 되려면? 무엇을 공부해야 하나요?

by grey-hat hacker 2021. 2. 17.
728x90

 

하나의 기계가 있을 때!!

- 어떻게 생겼고

- 기계에 무엇을 넣었을 때 무엇이 나온다면 내부 구조가 어떻게 되었는가??

- 고민해보는 것 

 

리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學) - 위키백과

장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 

 - 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다.

 

내가 생각하는 리버스 엔지니어링이란?

- 2021년 2월 17일 기준 : 아직 모름...ㅋㅋㅋㅋㅋㅋㅋㅋ 일단 다음에 다시 올께요!

 

 

리버싱이 필요한 이유!

> 해커가 되고 싶다면!

> 악성코드 분석!

> 기술 보호!

> 호기심!  Geek(괴짜)

 

리버싱 응용 분야

` 소프트웨어 : 악성코드 분석, 취약점 분석, 소프트웨어 라이센싱/크래킹, 버그헌팅, 개발(확장)

` 하드웨어 : 하드디스크 분석, IoT 기기 분석

 


리버싱 시작하기!!

> 리버서(리버싱을 하는 사람들) - 아래 5가지가 필요하다!!

아키텍처: 시스템 구조와 동작 원리에 대한 지식

• 기계어: 01010 말고 어셈블리 언어(x86/64, arm, mips)

• 도구 활용 능력: 분석의 목적과 용도에 맞는 툴을 알고 다루는 능력

• 개발: 다양한 언어를 이해하고, 복잡한 문제를 다루는 프로그램을 개발

• 경험: 다양한 패턴을 지속적으로 분석해 보는 연습

 

> 1. 아키텍처 이해! > 2. 기계어(언어) 이해! > 3. 도구 활용법 익히기 > 4. 개발, 분석 경험!

 

~~ 어떤 리버서가 될 것인가? (개발, 분석 모두 중요하지만 어떤 것에 비중을 둘 것인가?)

 - 악성코드 분석:(개발 < 분석) 빠르고 정확하게 악성코드 파악 및 대응

 - 취약점 분석:(개발 = 분석) 취약점 발생 원인 파악, 개선 방안 구현

 - 버그 헌팅:(개발 = 분석) 대상 소프트웨어를 이해, 제로데이 도출

 - 보안 개발:(개발 > 분석) 보안 결함을 최소화 하는 프로그램을 개발

 

 

- 멀티캠퍼스 리버스쿨_리버싱 분석 Level1 과정을 학습하며 작성하였습니다. 

 

728x90
반응형

댓글