일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 정보보안
- 신경망
- 백준
- 8086CPU레지스터
- 달고나bof
- 신경망구현
- 스트림암호
- 알고리즘
- 머신러닝
- BOJ
- 밑바닥부터시작하는딥러닝
- 보안
- C언어알고리즘
- 버퍼오버플로우
- FTZlevel10
- C언어 알고리즘
- 파이썬
- 항등함수
- 파이썬신경망
- c언어
- 소프트맥스함수
- 신경망파이썬
- 딥러닝
- BOF
- 딥러닝파이썬
- 신경망 학습
- 활성화함수파이썬
- 인공지능
- 백준알고리즘
- C알고리즘
- Today
- Total
목록<Information Security>/<Malware> (6)
HeeJ's
1. 기초 정적 분석 1.1 VirusTotal 1.2 PEView 컴파일된 시간 확인 Address Table의 KERNEL32.dll 확인 대부분의 프로그램에 사용되는 dll API들로 어떤 동작이 있었는지 확인 가능 CreateMutexA : 이름이 있거나 이름이 없는 Mutex 오브젝트 생성 -> 동기화 진행 -> 다른 프로그램이 침범할 수 없게끔 -> 중복 실행 방지 CreateThread : 스레드 생성 -> 부가적인 스레드를 만들어냄 -> 동기화를 위해 Sleep, WaitForObject 실행 GetStartUpInfoA : StartUpInfo 구조체 생성 -> CreateProcess에 필요함(Process를 만드는 함수) TerminateProcess : 프로세스 종료 GetCurre..
악성코드 고급 정적 분석 : 아이다 활용 - PE, COFF, ELF 지원 - x86/ x64 지원 - 함수 발견, 스택 분석, 지역 변수 확인 등 수 많은 기능 제공 - 과정의 모든 부분을 수정, 조 작, 재배피, 재정의 - 분석 진행 상황 저장 기능(주석 작성, 라벨링, 함수 이름 붙이기) - 막강한 플러그인 지원(C Decompiler) 그래프 모드 - 그래프 형태로 출력 - 화살표 색깔과 방향 이용 ( 빨강 : 조건 점프 거짓 초록 : 조건 점프 참 파랑 : 무조건 점프 ) 텍스트 모드 - 기존의 보기 방식 - 메모리 주소, 옵코드, 섹션명 등 출력 ( 실선 : 무조건 점프 점선 : 조건 점프 ) 분석에 유용한 윈도우 - 함수 윈도우 : 실행 파일 내의 모든 함수를 목록화 - 이름 윈도우 : 함수..
악성코드 분석의 네 가지 접근 방법 1. 완전 자동화 분석 (Fully-automated analysis) - 정적 분석 및 동적 분석을 통해 악의적인 행위를 판단 - 자동 분석 수행 (파일 생성, 수정 과정의 분석, 레지스트리 분석, 네트워크 분석 등) - 전문가에 의해 분석되는 만큼 상세하거나 정확하지 않을 수 있음 - 악성코드 분석 제공 서비스 2. 정적 속성 분석 (Static properties analysis) - 악성코드의 추가 분석을 위해 필요한 단계 - 문자열 헤더 정보, 해시 값, 리소스 정보, 패킹 여부 등신속하게 정보 획득 - 정보들을 활용해 실행 파일 간의 비교 데이터베이스를 구성 - 바이러스 토탈(VirsuTotal) 서비스 3. 대화형 동적 분석 (Interactive Beha..
PE 파일 - 파일 포멧을 알아야 하는 이유 1. 프로세스 적재를 위한 정보 2. API 호출을 위한 IAT 3. 코드 사이즈와 각 섹션의 위치 4. 언패킹 (exe 파일들을 보호하는 패킹) 5. 바이러스 분석 6. 안티 디버깅 PE 파일 (=Portable Executable File Format) : 파일이 이식 가능한 곳에 옮겨져도 (같은 OS 내에서) 실행 가능하도록 만든 포멧 - 윈도우에서 사용하는(운영체제 종속적) 실행파일, DLL 파일 등을 위한 파일 형식 - 윈도우 로더가 실행가능한 코드를 관리하는데 필요한 정보를 캡슐화한 데이터 구조체 - 링킹을 위한 동적 라이브러리 참조, API 익스포트와 임포트 테이블, 자원 관리 데이터 그리고 TLS 데이터를 포함 실행파일 컴파일 과정 Sourche..
리버싱(reverse engineering) : 역공학 프로그램을 소스코드 단계로 되돌려서 분석하는 것 (악성코드도 완성된 프로그램이기 때문에 분석하려면 리버싱이 필요) C(소스코드) -> 01011(기계어) : 컴파일 01011(기계어) -> 어셈블리 코드 : 디스 어셈블 어셈블리 코드는 주로 IA-32(Manual)를 사용함(Intel 32bit) 기본 형태 : 명령어(opcode) + 인자(operand 1~2) CPU가 사용하는 변수(32bit) 레지스터 역할 레지스터 역할 EAX(Accumulator) 각종 연산에 사용 가장 많이 쓰이는 변수 주로 리턴 값을 저장 ESI, EDI (source Index, destinationIndex) 문자열이나 각종 반복 데이터를 처리 메모리를 옮기는데 사용..
1. 완전 자동화 분석(Fully-automated analysis) - 정적 분석 및 동적 분석을 통해 악의적인 행위를 판단 - 자동 분석 수행 (파일 생성, 수정 과정의 분석, 레지스트리 분석, 네트워크 분석 등) - 상세하거나 정확하지 않을 수 있음 - 악성코드 분석 제공 서비스 2. 정적 속성 분석 - 악성코드의 추가 분석을 위해 필요한 단계 - 문자열 헤더 정보, 해시 값, 리소스 정보, 패킹 여부 등 신속하게 정보 획득 - 정보들을 활용해 실해 파일 간의 비교 데이터베이스 구성 - 바이러스 토탈 서비스 3. 대화형 동적 분석 - 레지스트리, 파일시스템, 프로세스, 네트워크 활동을 이해하기 위해 분리된 가상 머신 환경에서 실행하며 분석 - 메모리 분석을 통해 다른 행위를 추가적으로 분석 - 악의..