전체 글
-
[linux] 디바이스 드라이버 만들기Programming/system programming 2015. 6. 1. 19:22
device등록 Device driver를 커널에 등록할때에는 register_chrdev(장치 주번호, 장치이름, file_operations)함수를 사용하고, module_init함수내에서 수행한다.터미널 드라이버 경우에는 주번호 : 4, 디바이스 이름 : "tty” , 파일 연산 : tty_fops struct file_operations Linux/include/linux/fs.h http://lxr.free-electrons.com/source/include/linux/fs.h리눅스에서 디바이스는 위의 함수들을 지원한다. led 디바이스에는 open, write, release만 있으면 되므로 아래와 같이 정의해주면 된다. struct file_operations iom_led_fops ={op..
-
Virtuoso installation and walkthorughtool 2015. 5. 18. 14:56
install : https://code.google.com/p/virtuoso/wiki/InstallationWalkthrough : https://code.google.com/p/virtuoso/wiki/Walkthrough libasm https://code.google.com/p/libdasm/에서 파일 다운 후, 파일 압축 풀고, 아래 명령어 입력한다. makesudo make installcd pydasmsudo python setup.py install 이후 troble Shooting1 : Comment by qps...@gmail.com, Aug 6, 2014Hi, has somebody managed to install virtuoso in Ubuntu14.04 x64 and run t..
-
Windows APIwindows system 2015. 5. 8. 17:11
걍다 wiki자료들.ㅋ windows Library https://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC_%ED%8C%8C%EC%9D%BC KERNEL32.DLL 메모리 관리, 입출력 명령, 프로세스와 스레드 생성, 그리고 동기화 함수들 같은 대부분의 Win32 베이스(base) API들을 응용 프로그램에 내보낸다. 대부분의 것들이 (NTDLL.DLL에 의해 내보내진) 상응하는 네이티브 API를 호출함으로써 KERNEL32.DLL의 내부에 구현되어 있다.[7] GDI32.DLL그래픽 장치 인터페이스(GDI) 함수들을 노출시키는데, 이것들은 디스플레이나 프린터에 출력되는 원시..
-
BotnetNetwork 2015. 4. 19. 22:58
그림출처 : http://resources.infosecinstitute.com/botnets-and-cybercrime-introduction/ 보통 bonet하면 C&C서버가 있는 centralized 방식인 왼쪽그림과 같다. 근데 C&C server가 single point failure도 되고 이런저런 문제가있어서 오른쪽과 같은 P2P방식으로 진화됨..... method : bot들은 their neighbor밖엔 모른다. 기존의 P2P algorithm을 그대로 쓰기때문에 구분이안됨.. 단점 : large scale attack에는 힘들다. P2P기술이
-
DDoSNetwork 2015. 4. 17. 22:29
ping flood ping은 ICMP프로토콜을 사용한다. 그림 출처 : http://tomicki.net/ping.flooding.php echo request sent to broadcast IP address smurf attack공격자는 IP spoofing을 한다.딴사람을 이용해서 공격한다.ICMP reply packet이 victim에게로 가게된다. syn flooding attack defend : syn cookieISN생성 방법은 추측 불가능하고, 생성속도가 빠를수록 좋다.. 그림 출처 : http://www.onurmark.co.kr/?p=425
-
Virtual Machine Introspectiontool 2015. 3. 12. 17:13
VMI VMI는 외부 모니터링 툴로써, VM의 런타임 상태에 대한 정보(Disk, memory, network, HW event, CPU reg.)를 읽는 일종의 그냥 디버깅 툴이라고 생각하면 된다. VMI는 VM의 정보를 읽어오기 위해서 주로 hypervisor단에서 구현된다. libVMI 그림출처 : http://libvmi.com/ virtual machine's memory를 읽거나 쓰기 위한 API를 제공한다.api상세정보는 http://libvmi.com/api/#Functions 참조. XenAccess library를 기반으로 만들어짐.Volatility와 함께 사용할 수 있다. Volatilityforensic memory analysis framework supporting both L..
-
SPT, NPTOperating System 2015. 3. 6. 18:35
shadow Page Table사진 출처 : http://www.anandtech.com/show/2480/10 hypervisor에서는 VA->MA mapping table을 가지고 있다. direct page table access para virtualization에서는 guest os의 page tale을 수정해서, machine address를 직접 같게 된다.hyper call을 이용 Hardware Assisted Page table 사진 출처 : http://www.anandtech.com/show/2480/10 HW지원으로 Hypervisor 구현이 쉬워졌다.간단하다 MMU가 2개있다고 생각하면된다.VA->PA를 위한 MMU 와 PA->MA를 위한 MMU.위의 모든 SW적인 구현은 MMU..
-
virtualization techniquesOperating System 2015. 3. 6. 16:43
hardware Solution Hardware-Assist Virtualization : CPU의 지원을 받음으로써 가상화 방식의 가장 큰 과부화였던 Binary Translation이 없앴다.Non-Root mode와 root mode privilege level을 가진다. AMD 가상화 (AMD-V)64비트 x86 아키텍처에 대한 AMD의 가상화 확장 인텔 가상화 기술 (인텔 VT) 인텔 VT는 IA-32 (VT-x)를 위한 가상화 기술, IA-64 (VT-i)를 위한 가상화 기술, Directed I/O (VT-d)를 위한 가상화 기술, Connectivity (VT-c)를 위한 가상화 기술로 이루어져 있다 Software Solution Binary TranslationHyper call vir..