Information Security 17

Zeus 악성코드 감염 이미지 분석

1. 테스트 환경 1.1. 비교군 테스트 환경 운영체제 : Windows XP x86 SP3 RAM : 256 MB Malware : 없음 1.2. 실험군 테스트 환경 운영체제 : Windows XP x86 SP3 RAM : 256 MB Malware : Zeus fd1819909d 감염 2. 악성코드 감염 이미지 분석 2.1. Responder 2.0을 통한 분석 2.1.1. 분석 과정 vmem 이미지 분석 실행 Summary 확인 의심 모듈/프로세스 상세 분석 Digital DNA 분석 2.1.2. 메모리 이미지 분석 결과 비교군 실험군 후킹된 SSDT 영역 0 0 후킹된 IDT 영역 0 0 숨겨진 드라이버 0 0 숨겨진 프로세스 0 0 DDNA 최고 점수 0.0 80.302 (모듈 : memorym..

Bobax 감염 이미지 분석

1. 테스트 환경 1.1. 비교군 테스트 환경 운영체제 : Windows XP x86 SP3 RAM : 256 MB Malware : 없음 1.2. 실험군 테스트 환경 운영체제 : Windows XP x86 SP3 RAM : 256 MB Malware : Bobax 감염 2. 악성코드 감염 이미지 분석 2.1. Responder 2.0을 통한 분석 2.1.1. 분석 과정 vmem 이미지 분석 실행 Summary 확인 의심 모듈/프로세스 상세 분석 Digital DNA 분석 2.1.2. 메모리 이미지 분석 결과 비교군 실험군 후킹된 SSDT 영역 0 0 후킹된 IDT 영역 0 0 숨겨진 드라이버 0 0 숨겨진 프로세스 0 0 DDNA 최고 점수 0.0 91.85 (모듈 : _unnamed_module_ma..

악성코드에 사용되는 Windows 레지스트리 분석 항목

1. 악성코드 탐지 정보 설명 레지스트리 연결 프로그램 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts 자동 실행 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 서비스 프로그램 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 윈도우 로그온 실행 프로그램 HKEY_LOC..

비트코인과 블록체인 (2) - 사용자 관리와 인증 및 블록체인 기술

5. 사용자 관리와 인증 비트코인은 사용자를 관리하는 중앙의 서버가 없습니다. 거래에 사용되는 계좌와 이를 이용하는 주체 인증에 공개키 암호화 방식을 사용합니다. 공개키 방식의 원리 ECDSA 알고리즘 사용 다음 그림과 같이 특정한 메시지에 대한 서명을 자신만이 알고 있는 개인키로 서명하면, 제삼자는 공개키를 이용해 그 서명이 이 공개키의 짝에 해당하는 비밀키로 서명한 것인지 확인할 수 있습니다. 이 공개키와 개인키의 짝은 암호화 알고리즘을 이용해 누구나 생성할 수 있다. 비트코인에서는 이 공개키를 일종의 일회용 계좌번호처럼 사용합니다. 누구나 스스로 만들 수 있기 때문에 사용자나 계좌를 등록하는 절차가 필요 없고, 공개키 암호화 알고리즘을 이용해 계좌의 소유자가 맞는지를 인증할 수 있습니다. 블록체인 ..

비트코인과 블록체인 (1) - 비트코인과 채굴 방법

1. What is Bitcoin? 비트코인은 사토시 나카모토가 2008년 논문을 통해 최초로 발표하고, 2009년 개발한 전자화폐입니다. 사토시 나카모토는 가명으로 2016년 5월 2일 호주 사업가 ‘크레이그 라이트’가 자신이 사토시라고 주장하였습니다. 라이트는 자신이 비트코인 개발자라는 것을 입증하기 위해 2009년 비트코인이 개발됐을 때 첫 거래에 쓰였던 암호화 키를 가지고 디지털 방식으로 메시지에 서명하는 모습을 시연했습니다. 또 비트코인 커뮤니티에서 휴면 중인 자신의 온라인 계정에 ‘나카모토 사토시' 계정으로 로그인을 하는 모습을 보여줬습니다. 비트코인은 발행 기관이 존재하지 않으며, 거래는 P2P 기반 분산 데이터베이스에 의해 이루어집니다. 발행처가 없어 사용자가 주어진 문제를 풀어 비트코인을..

윈도우 물리 메모리에서 공인 인증서 정보 추출

물리 메모리에서의 공인 인증서 정보는 인증서 관리 프로세스에 남아있지 않으며, 웹브라우저 프로세스 영역에서 확인 할 수 있다. 공인인증서 인증이 필요한 페이지의 경우, 인증서 관리 프로세스 호출을 위해 Active X를 요구한다. Active X를 지원하는 웹브라우저는 Internet Explorer이므로, Internet Explorer 프로세스 영역에서 공인인증서 정보를 추출 할 수 있다.(부가기능을 이용하여 Active X를 지원하는 타 브라우저의 경우, 내부에서 Internet Explorer 프로세스를 호출하는 형태이다.) 웹 브라우저에 의해 공인인증서 관리 프로세스가 실행되면, 공인 인증서 파일이 하드디스크에 존재 할 경우에는 인증서 프로세스 로드 즉시 메모리에 로드 된다. 그러나 공인인증서 ..

공인 인증서 구조

1. 공인인증서 개요 공인인증서(公認認證書) 는 전자 서명의 검증에 필요한 공개 키(전자서명법에는 전자서명검증정보로 표기)에 소유자 정보를 추가하여 만든 일종의 전자 신분증(증명서)이다. 공개 키 증명서, 디지털 증명서, 전자 증명서 등으로도 불린다. 공인인증서는 개인 키(전자서명법에는 전자서명생성정보로 표기)와 한 쌍으로 존재한다. 전형적인 공개 키 기반 구조 (PKI) 방식에서 서명은 인증 기관의 소유가 된다. 신뢰의 웹 방식에서 서명은 자신이 직접 서명하거나 다른 사람이 서명할 수 있다. 어떠한 경우든 인증서의 서명은 정보와 공인 키를 함께 증명하는 인증 서명자의 증명이다. 공인인증서는 OpenSSL의 ssl-ca나 수세 리눅스의 gensslcert와 같은 도구를 포함한 유닉스 기반 서버용으로 작성..

[번역 문서] 효율적인 Windows 암호 해시 덤프 (원제 : Dump Windows password hashes efficiently)

1. 윈도우 보안 계정 관리자 보안 계정 관리자(SAM)는 Windows NT 및 가장 최근의 Windows 7 버전까지의 레지스트리 파일이다. 이는 해시 형식(LM 해시와 NTLM 해시)의 사용자 패스워드를 저장한다. 해시 함수는 단방향이므로, 패스워드의 저장을 위한 몇 가지 보안 정책을 제공 한다. 일반적으로, 운영체제 사용자의 패스워드 해시를 덤프 하는 것은 기계의 타협 다음으로 일반적인 행위이다. 패스워드 해시에 대한 액세스를 얻게 되면 다양한 공격이 가능해진다. 그러나 이에 한정되지 않은 패스워드를 재사용하여 암호 정책 분석 및 패턴 인식, 패스워드 크래킹 등 다른 시스템의 SMB 해시를 사용하여 인증한다. 접근유형에 따라 여러 방법으로 SAM에서 패스워드 해시를 얻을 수 있다. 1.1. 물리적..

Windows 로그온 패스워드 추출 분석

1. 서론 기존의 Windows 로그온 패스워드를 추출하는 방법은 Windows 레지스트리와 로그온 세션을 통해 NTLM 해시 값을 획득하여, 이를 무차별 대입 공격을 통해 패스워드를 크래킹하는 방법이었다. 이에 대한 자세한 내용은 “효율적인 Windows 암호 해시 덤프(원제 : Dump Windows password hashes efficiently)” 번역 문서를 참조한다. 1.1. 연구 배경 및 목적 기존의 Windows 레지스트리와 로그온 세션을 통해 NTLM 해시 값을 획득 하는 방법은 패스워드의 강도에 따라 크래킹 할 수 없을 정도로 오랜 시간을 소모하기도 한다. 이를 해소 할 수 있는 다른 방법이 필요하다. 1.2. 연구 내용 및 범위 본 문서에서는 물리 메모리에서 Windows 로그온 계..

MD5 암호화 프로그램분석

1. 해시 함수와 MD5 1.1. 해시 함수 해시 함수(hash function) 또는 해시 알고리즘(hash algorithm)은 임의의 데이터로부터 일종의 짧은“전자 지문”을 만들어 내는 방법이다. 해시 함수는 데이터를 자르고 치환하거나 위치를 바꾸는 등의 방법을 사용해 결과를 만들어 내며, 이 결과를 흔히 해시 값(hash value)이라 한다. 해시 함수는 결정론적으로 작동해야 하며, 따라서 두 해시 값이 다르다면 그 해시 값에 대한 원래 데이터도 달라야 한다. (역은 성립하지 않는다) 해시 함수의 질은 기대되는 입력 영역에서 얼마나 적은 해시 충돌(서로 다른 두 데이터의 해시 값이 같은 경우)을 일으키느냐로 결정되는데, 충돌이 많이 날수록 서로 다른 데이터를 구별하기 어려워지고 데이터를 검색하는..