PowerPoint Presentation

Similar documents
Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

거창전문대학훈령182.hwp

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

PCServerMgmt7

APOGEE Insight_KR_Base_3P11

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - o8.pptx

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

22최종합본.hwp

Microsoft Word doc

1217 WebTrafMon II

vm-웨어-앞부속

(자료)2016학년도 수시모집 전형별 면접질문(의예과포함)(최종 ).hwp

Embeddedsystem(8).PDF

KDTÁ¾ÇÕ-2-07/03

슬라이드 1

6주차.key

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

김기남_ATDC2016_160620_[키노트].key

01이국세_ok.hwp

Sharing Memory Between Drivers and Applications

KDTÁ¾ÇÕ-1-07/03

PowerPoint 프레젠테이션

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

10주차.key

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related

<BBEABEF7B5BFC7E22DA5B12E687770>

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

WiBro 단말규격

6.24-9년 6월

K_R9000PRO_101.pdf


Plc\PLC-p

<C7D1B1B9C1A4BAB8BBEABEF7BFACC7D5C8B82D535720C7C3B7A7C6FB20C7D8B9FD20536F4320C0B6C7D5C0B8B7CE2DB3BBC1F62E687770>

04_오픈지엘API.key

공지사항

< B5BFBEC6BDC3BEC6BBE E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

bn2019_2

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

<4D F736F F D20B3BBBACEC7D8C5B7B4EBC8B820BAB8B0EDBCAD2E646F6378>

歯MW-1000AP_Manual_Kor_HJS.PDF

R50_51_kor_ch1

Microsoft PowerPoint - eSlim SV [ ]

슬라이드 1

(SW3704) Gingerbread Source Build & Working Guide

Adobe Flash 취약점 분석 (CVE )

결과보고서

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Microsoft PowerPoint Q AMD DT channel training Nov.ppt

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

Microsoft PowerPoint - 발표_090513_IBM세미나_IPTV_디디오넷_완료.ppt

Microsoft PowerPoint - eSlim SV [080116]

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

2004 IRISPen 사용자 설명서-본문-용지크기 조정-폰트포함.PDF

서현수

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mango220 Android How to compile and Transfer image to Target

AORUS 노트북을 구매 하신 것을 축하 드립니다. 이 설명서는 당신이 새로 구매한 노트북을 처음 세팅 하는데 도움을 줄 것입니다. 마지 막 제품의 스펙은 당신 의 구매 시점에 따라 다를 수 있습니다. 이는 어로스사가 사전 서면의 통보 없이 변경할 수 있는 권리를 가지


ODS-FM1

<BDBAB8B6C6AEC6F95FBDC3C0E55FC8AEB4EB5FC0CCC1D6BFCF5F E687770>

위클리 초이스

PowerPoint 프레젠테이션

Oracle9i Real Application Clusters

PowerPoint 프레젠테이션

Microsoft Word - ASG AT90CAN128 모듈.doc

1차내지

The dependable biometrics Our proprietary hand vascular biometric technology

리뉴얼 xtremI 최종 softcopy

제품 특징 PC에서 마우스/키보드로 사용 Motion Ring은 사용자의 동작을 인식하는 3D 공간 인식 센서 가 장착되어 있어 정해진 제스처를 사용하여 마우스나 키보드 로 사용할 수 있습니다. - 일반적인 마우스와 키보드 없이 인터넷 웹 페이지를 사용하 거나 프레젠테

CyberLink YouCam

User Guide

untitled

Deok9_Exploit Technique

< 목 차 > 제1 장. 조사 개요 1 1. 조사의 목적 2 2. 조사의 설계 2 3. 조사항목 2 4. 조사 진행 3 5. 조사 응답 현황 4 제2 장. 조사 결과 분석 5 1. 결제수단 비중 6 2. 신용카드 수수료 인하율 7 3. 우대수수료 적용 상한선 8 3-1

°¡°Ç6¿ù³»ÁöÃÖÁ¾

( )부록

슬라이드 1

No Title

10X56_NWG_KOR.indd

Index

hlogin2

T100MD+

K835PCM1DMX-K

Chap7.PDF

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한

Xen으로 배우는 가상화 기술의 이해 - CPU 가상화

PowerPoint 프레젠테이션

Transcription:

GPU-based Keylogger Jihwan yoon 131ackcon@gmail.com

Index Who am I Keylogger, GPU GPU based Keylogging - Locating the keyboard buffer - Capturing KEYSTROKES Demo

About me

Who am I 윤지환 CERT-IS reader BOB 3 rd Interested in - System Hacking - bug-hunting http://blog.xchgespebp.kr 131ackcon@gmail.com

Who am I Project 2012. 12 2013. 08 2014. 09 2015. 08

2013 : 논문공개 (You Can Type, but You Can t Hide: A Stealthy GPU-based Keylogger) 2015 : POC 공개 (GPU rootkit & GPU keylogger)

공개된 POC 는실행 X, 문법 X 진짜개념만증명한코드, 작성하다가만코드 ( 물론공개안된부분도있을듯 ) 처음부터다키로거를제작하는것이빠르다.

Keylogger

Keylogger 사용자의입력을훔쳐보는프로그램 탐지될가능성이크다. 1. Software keylogger 1) User-level - API(GetAsyncKeyState ) 2) Kernel-level - SYSCALL, Driver Functions 2. Hardware keylogger - BIOS-level, firmware, wireless sniffers, device plugged inline

GPU

GPU(Graphics Processing Unit) 2D 핸들링, 3D 그래픽랜더링에사용되며, CPU 의부담을줄여준다. 전용그래픽카드, 통합그래픽솔루션, 내장그래픽, 가속처리장치 Graphics API : OpenCL, CUDA. DirectX

CPU vs GPU Architecture Control ALU ALU ALU ALU Cache DRAM DRAM CPU GPU

CPU vs GPU Architecture

GPU based Keylogging

< 요구사항 > Nvidia 나 AMD 그래픽카드 (Intel 이 AMD 의 SDK 지원 ) <Component> Host Process -> 키보드버퍼의주소를메인메모리에위치시키는작업 (page table 변조 ) GPU -> DMA 를통해키보드버퍼를모니터링

GPU Code Kernel Module 4. 키로거시작 3. 페이지테이블엔트리조작 2. 페이지스캔 Controller Process 1. 버퍼할당 Scanner 모니터링 부트스트랩조작

GPU Code Kernel Module 4. 키로거시작 3. 페이지테이블엔트리조작 2. 페이지스캔 Controller Process 1. 버퍼할당 Scanner Locating the keyboard buffer(1,2) 모니터링 부트스트랩조작

GPU Code Kernel Module 4. 키로거시작 3. 페이지테이블엔트리조작 2. 페이지스캔 Controller Process 1. 버퍼할당 Scanner Capturing Keystrokes(3,4) 모니터링 부트스트랩조작

1. Locating the Keyboard buffer Target : USB type keyboard 키보드버퍼는 URB(USB Request Block) 멤버변수인 transfer_buffer 에저장 키보드버퍼를찾기위해메모리스캔하는 LKM(Loadable Kernel Module) 구현

1. Locating the Keyboard buffer URB(usb request block) in linux/usb.h

1. Locating the Keyboard buffer struct usb_device *dev void *transfer_buffer dma_addr_t *transfer_dma u32 *transfer_buffer_length URB(usb request block) in linux/usb.h

1. Locating the Keyboard buffer USB Device Structure - 0x400 boundary transfer_dma - 0x20 boundary Product field - (USB type : "usb" && "keyboard ) (wireless type : "usb" && "reciever ) transfer_buffer_length - 8byte transfer_buffer - Scan code값저장 ( 입력없을경우 null)

1. Locating the Keyboard buffer USB Device Structure - 0x400 boundary transfer_dma - 0x20 boundary Product field - (USB type : "usb" && "keyboard ) (wireless type : "usb" && "reciever ) transfer_buffer_length - 8byte transfer_buffer - Scan code값저장 ( 입력없을경우 null)

2. Capturing Keystrokes Modifier keys (Shift, Alt, Ctrl) Raw Scan Codes urbp->transfer_buffer Buffer[0] Modifier keys(shift, Alt, Ctrl), Buffer[1] no special use, Buffer[2] ~ buffer[5] Raw Scan Code Key Pressed : 다음입력이이루어질때까지남아있는다. Error state : Buffer[0] ~ [1] 은 1, 나머지는 0 으로채워진다.

2. Capturing Keystrokes Allocate Modification Page Table 1) Monitoring 2) Release the memory GPU CPU NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes Host Processor Virtual Page Table Original Page table Physical Original Keyboard buffer NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes Host Processor Virtual Page Table Keyboard buffer Physical Original Keyboard buffer NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes Host Processor Virtual Page Table Keyboard buffer Physical Keyboard buffer GPU cudahostgetdevicepointer( 0x40000000, ~~~) NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes Host Processor Virtual Page Table Keyboard buffer Physical Keyboard buffer cudahostgetdevicepointer( 0x40000000, ~~~) GPU Page-locked Keyboard buffer NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes Host Processor munmap() Virtual Page Table Keyboard buffer Physical Keyboard buffer cudahostgetdevicepointer( 0x40000000, ~~~) GPU Page-locked Keyboard buffer NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes Host Processor Physical Keyboard buffer Communication GPU Page-locked Keyboard buffer NVIDIA CUDA 는 GPU 를관리하는호스트 controller process 와같은주소공간을공유 GPU 가직접접근하기위해서는키보드버퍼가호스트프로세스의가상주소공간에맵핑 controller process 의페이지테이블을조작함으로써접근가능

2. Capturing Keystrokes

2. Capturing Keystrokes

Demo blackcon@bk:~$ lspci grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 635M] (rev a1) blackcon@bk:~$ uname -a Linux bk 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux blackcon@bk:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 15.04 Release: 15.04 Codename: vivid

To do next 현재는리눅스 & CUDA 조합 OpenCL 을이용하여 AMD 에도호환 윈도우버전도제작

REFERENCE http://blog.alyac.co.kr/319 http://kr.nvidia.com/object/what-is-gpu-computing-kr.html https://github.com/x0r1 http://www.cs.columbia.edu/~mikepo/papers/gpukeylogger.eurosec13.pdf https://www.youtube.com/watch?v=0yryc9dw9gw https://nemoux00.wordpress.com/tag/dma-buf/ http://cinema4dr12.tistory.com/456 https://ko.wikipedia.org/wiki/gpgpu http://ixbtlabs.com/articles3/video/cuda-1-p1.html http://liminia.tistory.com/archive/201212 http://m.blog.naver.com/ymkim1959/10109647226

감사합니다. Jihwan yoon 131ackcon@gmail.com