쪽지발송 성공
Click here
재능넷 이용방법
재능넷 이용방법 동영상편
가입인사 이벤트
판매 수수료 안내
안전거래 TIP
재능인 인증서 발급안내

🌲 지식인의 숲 🌲

🌳 디자인
🌳 음악/영상
🌳 문서작성
🌳 번역/외국어
🌳 프로그램개발
🌳 마케팅/비즈니스
🌳 생활서비스
🌳 철학
🌳 과학
🌳 수학
🌳 역사
보안도구: IDA Pro를 이용한 고급 리버스 엔지니어링

2024-10-16 10:49:33

재능넷
조회수 527 댓글수 0

보안도구: IDA Pro를 이용한 고급 리버스 엔지니어링 🕵️‍♂️🔍

 

 

안녕, 친구들! 오늘은 정말 흥미진진한 주제로 여러분과 함께할 거야. 바로 IDA Pro를 이용한 고급 리버스 엔지니어링에 대해 깊이 있게 파헤쳐볼 거거든. 😎 이 주제는 프로그램 개발 카테고리의 보안 분야에 속하는 아주 중요한 내용이야. 자, 그럼 우리 함께 이 신비로운 세계로 빠져볼까?

잠깐! 혹시 여러분 중에 다양한 재능을 나누고 싶은 분 있나요? 그렇다면 '재능넷'이라는 재능공유 플랫폼을 한번 방문해보는 건 어떨까요? 여기서 우리가 배울 리버스 엔지니어링 스킬도 공유할 수 있을 거예요! 🌟

IDA Pro란 뭘까? 🤔

IDA Pro는 Interactive DisAssembler Professional의 약자야. 말 그대로 '대화형 역어셈블러 프로페셔널' 버전이라는 뜻이지. 이 도구는 리버스 엔지니어링 분야에서 가장 강력하고 널리 사용되는 도구 중 하나야. 😮

IDA Pro는 실행 파일을 분석하고 그 내부 구조를 이해하는 데 도움을 주는 도구야. 마치 복잡한 기계를 분해해서 각 부품의 기능을 알아내는 것처럼, 소프트웨어를 '분해'해서 그 작동 원리를 파악할 수 있게 해주지.

주의사항: IDA Pro는 강력한 도구이지만, 항상 윤리적이고 합법적인 목적으로만 사용해야 해. 다른 사람의 지적 재산권을 침해하거나 악의적인 목적으로 사용하는 것은 절대 안 돼! 👮‍♂️

IDA Pro의 주요 기능 🛠️

  • 다양한 프로세서 아키텍처 지원
  • 강력한 코드 분석 기능
  • 사용자 정의 스크립팅 지원
  • 디버깅 기능
  • 플러그인 시스템

이런 기능들 덕분에 IDA Pro는 보안 전문가, 악성코드 분석가, 소프트웨어 개발자들 사이에서 필수 도구로 자리잡았어. 재능넷에서도 이런 고급 기술을 가진 전문가들의 재능이 활발히 거래되고 있다고 해. 멋지지 않아? 🌈

IDA Pro의 주요 기능 다이어그램 IDA Pro 코드 분석 디버깅 스크립팅 플러그인 다중 아키텍처 지원

자, 이제 IDA Pro가 뭔지 대충 감이 왔지? 그럼 이제부터 본격적으로 IDA Pro를 사용한 고급 리버스 엔지니어링 기법에 대해 알아보자고! 🚀

IDA Pro 시작하기: 기본 인터페이스 살펴보기 🖥️

IDA Pro를 처음 실행하면, 좀 복잡해 보일 수 있어. 하지만 걱정 마! 천천히 하나씩 살펴보면 그리 어렵지 않다고. 😉

1. 메인 화면 구성 📊

IDA Pro의 메인 화면은 크게 다음과 같은 부분으로 나눌 수 있어:

  • 디스어셈블리 뷰 (Disassembly View): 프로그램의 기계어 코드를 어셈블리 언어로 변환해서 보여주는 핵심 창이야.
  • 함수 창 (Functions Window): 분석 중인 프로그램의 모든 함수 목록을 보여줘.
  • 출력 창 (Output Window): IDA Pro의 작업 로그와 스크립트 출력을 볼 수 있어.
  • 십자 참조 창 (Cross References Window): 특정 주소나 함수가 어디서 호출되는지 보여줘.

팁: IDA Pro의 인터페이스는 완전히 사용자 정의가 가능해. 자주 사용하는 창은 원하는 위치에 고정시키고, 불필요한 창은 숨길 수 있지. 자신만의 편안한 작업 환경을 만들어보는 건 어때? 🛠️

2. 단축키 마스터하기 ⌨️

IDA Pro를 효율적으로 사용하려면 단축키를 잘 활용해야 해. 여기 몇 가지 중요한 단축키를 소개할게:

  • Space: 그래프 뷰와 텍스트 뷰 전환
  • G: 특정 주소로 이동
  • X: 현재 위치의 십자 참조 보기
  • N: 이름 변경 (변수, 함수 등)
  • ;: 주석 추가

이 단축키들만 잘 기억해도 IDA Pro 사용이 훨씬 수월해질 거야. 마치 피아노를 연주하듯 손가락이 자연스럽게 움직이게 될 거라고! 🎹

3. 그래프 뷰 활용하기 🕸️

IDA Pro의 강력한 기능 중 하나가 바로 그래프 뷰야. 함수의 제어 흐름을 시각적으로 보여주는 이 기능은 복잡한 로직을 이해하는 데 정말 큰 도움이 돼.

IDA Pro 그래프 뷰 예시 함수 시작 조건 분기 1 조건 분기 2 함수 종료

그래프 뷰를 보면 함수의 전체적인 구조를 한눈에 파악할 수 있어. 조건문이나 반복문의 위치, 각 블록 간의 연결 관계 등을 쉽게 이해할 수 있지. 이런 시각화 기능은 특히 복잡한 알고리즘이나 보안 관련 로직을 분석할 때 정말 유용해.

꿀팁: 그래프 뷰에서 노드를 더블 클릭하면 해당 블록의 코드로 바로 이동할 수 있어. 또, 마우스 휠을 사용해 확대/축소가 가능하니 큰 함수를 분석할 때 활용해봐!

자, 이제 IDA Pro의 기본적인 인터페이스와 사용법에 대해 알아봤어. 이걸 잘 익혀두면 앞으로의 분석 작업이 훨씬 수월해질 거야. 마치 화가가 팔레트와 붓을 자유자재로 다루듯, 넌 IDA Pro를 자유롭게 다룰 수 있게 될 거라고! 🎨

다음 섹션에서는 실제로 IDA Pro를 사용해서 간단한 프로그램을 분석해볼 거야. 흥미진진한 여정이 기다리고 있으니 계속 따라와! 🚶‍♂️🚶‍♀️

실전! IDA Pro로 간단한 프로그램 분석하기 🕵️‍♀️

자, 이제 우리가 배운 걸 실제로 적용해볼 시간이야! 간단한 "Hello, World!" 프로그램을 IDA Pro로 분석해보면서 리버스 엔지니어링의 기초를 다져보자고. 😃

1. 샘플 프로그램 준비하기 📁

먼저, 분석할 간단한 C 프로그램을 만들어보자. 아래 코드를 사용할 거야:


#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}
  

이 코드를 컴파일해서 실행 파일을 만들어줘. 윈도우 사용자라면 Visual Studio를, 리눅스나 맥 사용자라면 GCC를 사용하면 돼.

참고: 실제 분석 시에는 더 복잡한 프로그램을 다루게 될 거야. 하지만 기초를 다지는 단계에서는 이렇게 간단한 예제로 시작하는 게 좋아. 마치 요리를 배울 때 계란 프라이부터 시작하는 것처럼 말이야! 🍳

2. IDA Pro로 파일 열기 🖥️

자, 이제 컴파일된 실행 파일을 IDA Pro로 열어보자.

  1. IDA Pro를 실행해.
  2. 'New' 버튼을 클릭하고, 방금 만든 실행 파일을 선택해.
  3. IDA Pro가 파일을 분석하는 동안 잠깐 기다려줘. ⏳

파일이 열리면, 메인 화면에 디스어셈블된 코드가 보일 거야.

3. 메인 함수 찾기 🔍

C 프로그램에서 실행의 시작점은 main 함수야. IDA Pro에서 main 함수를 찾아보자.

  • Functions 창에서 'main'을 검색해봐.
  • 못 찾겠다면, 'start' 함수나 '_start' 함수를 찾아봐. 이 함수들이 main을 호출할 거야.

main 함수를 찾았다면, 더블클릭해서 해당 코드로 이동해봐.

4. 코드 분석하기 🧐

이제 디스어셈블된 코드를 보고 있을 거야. 처음 보면 복잡해 보이겠지만, 천천히 살펴보자.


.text:00401000 main            proc near
.text:00401000                 push    ebp
.text:00401001                 mov     ebp, esp
.text:00401003                 push    offset aHelloWorld ; "Hello, World!\n"
.text:00401008                 call    printf
.text:0040100D                 add     esp, 4
.text:00401010                 xor     eax, eax
.text:00401012                 pop     ebp
.text:00401013                 retn
.text:00401013 main            endp
  

이게 우리의 간단한 프로그램을 디스어셈블한 결과야. 한 줄씩 살펴보자:

  • push ebpmov ebp, esp: 이건 함수의 프롤로그야. 스택 프레임을 설정하는 부분이지.
  • push offset aHelloWorld: "Hello, World!\n" 문자열의 주소를 스택에 푸시하고 있어.
  • call printf: printf 함수를 호출하고 있어. 우리가 C 코드에서 작성한 그 printf 맞아!
  • xor eax, eax: eax 레지스터를 0으로 만들고 있어. 이게 바로 return 0에 해당하는 부분이야.
  • pop ebpretn: 함수의 에필로그. 스택을 정리하고 함수를 종료하는 부분이지.

와! 우리가 작성한 간단한 C 코드가 어떻게 어셈블리어로 변환되었는지 봤어? 이렇게 리버스 엔지니어링을 하면 프로그램의 내부 동작을 자세히 이해할 수 있어. 😎

재미있는 사실: 실제 악성코드 분석가들은 이런 방식으로 악성 프로그램의 동작을 분석해. 마치 탐정이 증거를 모으듯이, 코드의 각 부분을 꼼꼼히 살펴보면서 프로그램의 의도를 파악하는 거지. 🕵️‍♂️

5. 문자열 찾기 🔤

IDA Pro에는 프로그램에 포함된 모든 문자열을 보여주는 기능이 있어. 'View' 메뉴에서 'Open subviews' -> 'Strings'를 선택해봐.

여기서 "Hello, World!"라는 문자열을 찾을 수 있을 거야. 이 문자열을 더블클릭하면, 해당 문자열이 사용되는 코드 위치로 바로 이동할 수 있어. 편리하지? 👍

6. 크로스 레퍼런스 활용하기 🔗

IDA Pro의 강력한 기능 중 하나가 바로 크로스 레퍼런스야. 특정 함수나 변수가 어디서 사용되는지 쉽게 찾을 수 있지.

printf 함수에 커서를 올리고 'X' 키를 눌러봐. printf가 호출되는 모든 위치를 볼 수 있을 거야. 우리의 간단한 프로그램에서는 한 번만 호출되겠지만, 복잡한 프로그램에서는 이 기능이 정말 유용해.

크로스 레퍼런스 개념도 printf 함수 main 함수에서 호출 다른 함수에서 호출 또 다른 위치에서 호출

이렇게 IDA Pro를 사용해서 간단한 프로그램을 분석해봤어. 어때, 생각보다 재미있지 않아? 🎉

물론 실제 현장에서는 이보다 훨씬 복잡한 프로그램을 다루게 될 거야. 하지만 기본 원리는 같아. 이렇게 하나하나 뜯어보면서 프로그램의 동작을 이해하는 거지.

다음 섹션에서는 좀 더 복잡한 기능들을 살펴볼 거야. IDA Pro의 스크립팅 기능이라던가, 디버거 사용법 같은 것들 말이야. 계속 따라와줘! 🚀

IDA Pro의 고급 기능: 스크립팅과 디버깅 🛠️

자, 이제 우리는 IDA Pro의 기본적인 사용법을 익혔어. 하지만 이게 끝이 아니야! IDA Pro는 정말 강력한 도구라서, 더 깊이 들어가면 갈수록 새로운 기능들을 발견하게 될 거야. 그중에서도 특히 중요한 두 가지를 살펴보자고. 바로 스크립팅디버깅이야. 😎

1. IDA Pro 스크립팅: IDAPython 🐍

IDA Pro는 Python 스크립팅을 지원해. 이를 IDAPython이라고 불러. 이 기능을 사용하면 반복적인 작업을 자동화하거나, 복잡한 분석 작업을 수행할 수 있어.

알아두면 좋은 점: IDAPython은 일반 Python과 거의 동일해. 하지만 IDA Pro의 API를 사용할 수 있는 추가 모듈이 포함되어 있어. 이를 통해 IDA Pro의 거의 모든 기능을 프로그래밍적으로 제어할 수 있지!

간단한 IDAPython 스크립트 예제를 보자:


import idaapi
import idautils

print("함수 목록:")
for func in idautils.Functions():
    print(idaapi.get_func_name(func))
  

이 스크립트는 프로그램의 모든 함수 이름을 출력해. 꽤 유용하지? 😉

IDAPython을 사용하면 다음과 같은 작업을 자동화할 수 있어:

  • 특정 패턴의 코드 찾기
  • 함수 이름 자동으로 변경하기
  • 복잡한 데이터 구조 복잡한 데이터 구조 분석하기
  • 커스텀 분석 도구 만들기

IDAPython은 정말 강력한 도구야. 마치 마법사의 지팡이 같아서, 복잡한 분석 작업을 몇 줄의 코드로 해결할 수 있지. 🧙‍♂️✨

2. IDA Pro의 디버거 기능 🐛

IDA Pro는 강력한 디버거도 내장하고 있어. 이 디버거를 사용하면 프로그램을 실행하면서 동시에 분석할 수 있지. 마치 타임머신을 타고 프로그램의 실행을 따라가는 것 같아!

디버거의 주요 기능들을 살펴보자:

  • 브레이크포인트 설정: 프로그램의 특정 지점에서 실행을 멈출 수 있어.
  • 스텝 실행: 한 줄씩 코드를 실행하면서 상태를 확인할 수 있어.
  • 메모리/레지스터 확인: 실행 중인 프로그램의 메모리와 CPU 레지스터 상태를 볼 수 있어.
  • 조건부 브레이크포인트: 특정 조건이 만족될 때만 실행을 멈추게 할 수 있어.

주의사항: 디버거를 사용할 때는 항상 안전한 환경에서 해야 해. 악성코드를 분석할 때는 특히 조심해야 하지. 가상 머신을 사용하는 것이 좋아!

디버거를 사용하면 정적 분석만으로는 알기 어려운 프로그램의 동작을 자세히 파악할 수 있어. 예를 들어, 암호화된 문자열이 실행 중에 어떻게 복호화되는지, 또는 특정 조건에서 프로그램이 어떤 경로로 실행되는지 등을 확인할 수 있지.

3. 스크립팅과 디버깅의 결합 🔗

스크립팅과 디버깅을 결합하면 정말 강력한 분석 도구를 만들 수 있어. 예를 들어, 특정 조건에서 자동으로 브레이크포인트를 설정하고 데이터를 수집하는 스크립트를 만들 수 있지.

간단한 예제를 보자:


import idaapi

def my_breakpoint_handler():
    print("브레이크포인트 도달!")
    print("EAX 레지스터 값:", idc.get_reg_value("EAX"))
    return 0

# 주소 0x401000에 브레이크포인트 설정
idaapi.add_bpt(0x401000)
idaapi.set_bpt_cond(0x401000, "EAX == 0x1234")

# 브레이크포인트 핸들러 설정
idaapi.set_bpt_callback(my_breakpoint_handler)
  

이 스크립트는 특정 주소에 조건부 브레이크포인트를 설정하고, 브레이크포인트에 도달했을 때 자동으로 정보를 출력해. 이런 방식으로 복잡한 분석 작업을 자동화할 수 있어.

스크립팅과 디버깅의 결합 스크립팅 디버깅 결합 강력한 분석 도구

이렇게 스크립팅과 디버깅을 결합하면, 리버스 엔지니어링의 슈퍼 파워를 얻을 수 있어! 🦸‍♂️💪

마무리 🎬

자, 이렇게 해서 IDA Pro의 고급 기능인 스크립팅과 디버깅에 대해 알아봤어. 이 기능들을 마스터하면, 너는 진정한 리버스 엔지니어링의 달인이 될 수 있을 거야!

하지만 기억해, 이런 강력한 도구를 사용할 때는 항상 윤리적이고 합법적으로 사용해야 해. 다른 사람의 프라이버시나 지적 재산권을 존중하는 것도 중요해.

앞으로 너만의 멋진 스크립트를 만들고, 복잡한 프로그램의 미스터리를 풀어나가길 바라! 화이팅! 🚀🌟

실전 응용: 악성코드 분석 🦠

자, 이제 우리가 배운 IDA Pro의 기능들을 실제 상황에 적용해볼 시간이야. 특히 보안 분야에서 IDA Pro가 가장 많이 사용되는 분야 중 하나가 바로 악성코드 분석이지. 어떻게 IDA Pro를 사용해서 악성코드를 분석하는지 살펴보자! 🕵️‍♀️

주의: 악성코드 분석은 매우 위험할 수 있어. 항상 안전한 환경(가상 머신 등)에서 수행해야 해. 또한, 법적, 윤리적 문제가 없는지 꼭 확인해야 해!

1. 정적 분석 시작하기 📊

악성코드 분석의 첫 단계는 정적 분석이야. 이 단계에서는 프로그램을 실행하지 않고 코드만 살펴봐.

  1. 문자열 분석: IDA Pro의 Strings 뷰를 사용해 의심스러운 문자열을 찾아.
  2. 임포트 함수 확인: 악성코드가 사용하는 시스템 함수들을 살펴봐. 예를 들어, 네트워크 관련 함수들이 많다면 C&C 서버와 통신하는 악성코드일 수 있어.
  3. 엔트로피 분석: IDA Pro의 플러그인을 사용해 파일의 엔트로피를 분석해. 높은 엔트로피는 암호화나 패킹의 징후일 수 있어.

2. 동적 분석 수행하기 🏃‍♂️

정적 분석만으로는 부족할 때, 우리는 동적 분석을 수행해. IDA Pro의 디버거를 사용해서 악성코드를 실행하면서 분석하는 거야.

  • 주요 함수에 브레이크포인트 설정: 예를 들어, 네트워크 통신 함수나 파일 조작 함수에 브레이크포인트를 걸어.
  • 메모리 모니터링: 실행 중에 메모리의 변화를 관찰해. 특히 암호화된 문자열이 복호화되는 순간을 포착할 수 있어.
  • API 호출 추적: 악성코드가 어떤 시스템 API를 호출하는지 추적해. 이를 통해 악성코드의 행동을 이해할 수 있어.

3. 자동화 스크립트 작성하기 🤖

분석 과정에서 반복적인 작업이 많다면, IDAPython을 사용해 자동화 스크립트를 작성할 수 있어. 예를 들어:


import idaapi
import idautils

def find_suspicious_functions():
    suspicious = ["URLDownloadToFile", "CreateProcess", "RegSetValue"]
    for func in idautils.Functions():
        name = idaapi.get_func_name(func)
        if name in suspicious:
            print(f"의심스러운 함수 발견: {name} at {hex(func)}")

find_suspicious_functions()
  

이 스크립트는 악성코드가 자주 사용하는 함수들을 자동으로 찾아줘. 이런 식으로 분석 과정을 더 효율적으로 만들 수 있어!

4. 난독화 해제하기 🧩

많은 악성코드는 분석을 어렵게 하기 위해 난독화 기법을 사용해. IDA Pro를 사용해 이를 해제할 수 있어:

  • 패턴 인식: 반복되는 난독화 패턴을 찾아 자동으로 해제하는 스크립트를 작성할 수 있어.
  • 에뮬레이션: IDA Pro의 에뮬레이션 기능을 사용해 난독화된 코드를 실행하고 결과를 분석할 수 있어.
  • 시그니처 기반 분석: 알려진 난독화 기법의 시그니처를 사용해 자동으로 탐지하고 해제할 수 있어.
악성코드 분석 과정 정적 분석 동적 분석 자동화 난독화 해제 분석 과정 악성코드 이해 및 대응

5. 결과 정리 및 보고서 작성 📝

분석이 끝나면 결과를 정리하고 보고서를 작성해야 해. IDA Pro는 이 과정에서도 도움을 줄 수 있어:

  • 주석 기능: 분석 중 발견한 중요한 정보를 코드에 직접 주석으로 남길 수 있어.
  • 그래프 생성: 함수 호출 그래프 등을 생성해 악성코드의 구조를 시각화할 수 있어.
  • 내보내기 기능: 분석한 내용을 다양한 형식으로 내보내 보고서 작성에 활용할 수 있어.

팁: 보고서 작성 시 기술적 내용뿐만 아니라 악성코드의 잠재적 영향과 대응 방안도 함께 제시하면 좋아. 이는 보안 팀이 적절한 대책을 수립하는 데 큰 도움이 될 거야.

자, 이렇게 해서 IDA Pro를 사용한 악성코드 분석 과정을 살펴봤어. 이 과정은 꽤 복잡하고 시간이 많이 걸리지만, 사이버 보안에서 정말 중요한 역할을 해. 너의 분석이 수많은 시스템과 사용자를 보호하는 열쇠가 될 수 있다는 걸 기억해! 🛡️

앞으로 더 많은 경험을 쌓고 기술을 연마해서 최고의 악성코드 분석가가 되길 바라! 화이팅! 🚀🌟

관련 키워드

  • IDA Pro
  • 리버스 엔지니어링
  • 디스어셈블러
  • IDAPython
  • 디버깅
  • 악성코드 분석
  • 정적 분석
  • 동적 분석
  • 난독화 해제
  • 사이버 보안

지적 재산권 보호

지적 재산권 보호 고지

  1. 저작권 및 소유권: 본 컨텐츠는 재능넷의 독점 AI 기술로 생성되었으며, 대한민국 저작권법 및 국제 저작권 협약에 의해 보호됩니다.
  2. AI 생성 컨텐츠의 법적 지위: 본 AI 생성 컨텐츠는 재능넷의 지적 창작물로 인정되며, 관련 법규에 따라 저작권 보호를 받습니다.
  3. 사용 제한: 재능넷의 명시적 서면 동의 없이 본 컨텐츠를 복제, 수정, 배포, 또는 상업적으로 활용하는 행위는 엄격히 금지됩니다.
  4. 데이터 수집 금지: 본 컨텐츠에 대한 무단 스크래핑, 크롤링, 및 자동화된 데이터 수집은 법적 제재의 대상이 됩니다.
  5. AI 학습 제한: 재능넷의 AI 생성 컨텐츠를 타 AI 모델 학습에 무단 사용하는 행위는 금지되며, 이는 지적 재산권 침해로 간주됩니다.

재능넷은 최신 AI 기술과 법률에 기반하여 자사의 지적 재산권을 적극적으로 보호하며,
무단 사용 및 침해 행위에 대해 법적 대응을 할 권리를 보유합니다.

© 2024 재능넷 | All rights reserved.

댓글 작성
0/2000

댓글 0개

📚 생성된 총 지식 10,325 개

  • (주)재능넷 | 대표 : 강정수 | 경기도 수원시 영통구 봉영로 1612, 7층 710-09 호 (영통동) | 사업자등록번호 : 131-86-65451
    통신판매업신고 : 2018-수원영통-0307 | 직업정보제공사업 신고번호 : 중부청 2013-4호 | jaenung@jaenung.net

    (주)재능넷의 사전 서면 동의 없이 재능넷사이트의 일체의 정보, 콘텐츠 및 UI등을 상업적 목적으로 전재, 전송, 스크래핑 등 무단 사용할 수 없습니다.
    (주)재능넷은 통신판매중개자로서 재능넷의 거래당사자가 아니며, 판매자가 등록한 상품정보 및 거래에 대해 재능넷은 일체 책임을 지지 않습니다.

    Copyright © 2024 재능넷 Inc. All rights reserved.
ICT Innovation 대상
미래창조과학부장관 표창
서울특별시
공유기업 지정
한국데이터베이스진흥원
콘텐츠 제공서비스 품질인증
대한민국 중소 중견기업
혁신대상 중소기업청장상
인터넷에코어워드
일자리창출 분야 대상
웹어워드코리아
인터넷 서비스분야 우수상
정보통신산업진흥원장
정부유공 표창장
미래창조과학부
ICT지원사업 선정
기술혁신
벤처기업 확인
기술개발
기업부설 연구소 인정
마이크로소프트
BizsPark 스타트업
대한민국 미래경영대상
재능마켓 부문 수상
대한민국 중소기업인 대회
중소기업중앙회장 표창
국회 중소벤처기업위원회
위원장 표창