본문 바로가기

[+] Information/[-] System

Remote Buffer Overflow 강좌 문서 출처 : 해커스쿨 더보기
프로그램 실행 변경을 위해 .dtors영역 덮어 쓰기 번역본 Overwriting ELF .dtors section to modify program execution이란 제목의 문서 번역본 입니다. 출처 : 해커스쿨 더보기
ECU 펌웨어의 표준 구조와 급발진 해킹, 포렌식 전문가로서의 대응방법 최근에 SBS에서 방영되고 있는 '유령' 이라는 드라마에서 자동차가 해킹을 당하면 어떤 위험이 생기는지에 대해서 직설적이고 흥미롭게 그려낸 적이 있었다. 실제로 충분히 가능한 일이다. 자동차는 요즘 그냥 자동차가 아닌 하나의 컴퓨터가 탑재 된 첨단기기라고 불릴 만큼 그 기능의 수준이 정말 높으며 그 기능들은 모두 PC의 CPU가 컴퓨터를 제어하는 것처럼 ECU라는 프로세서에 의해 관리 된다. 사실 자동차 해킹은 하드웨어 해킹에 일부분으로 하드웨어 해킹은 해커들에 의해 이전부터 꾸준히 연구되어 왔고 근래에 들어 연구되어왔던 연구결과들이 각종 컨퍼런스에서 발표되고 문서로 배포 되고 있는 상황이다. 하지만 자동차 해킹만큼은 그 결과를 보기 힘든데 그 이유는 아직 관심부족인 이유도 있지만 ECU라는 프로세서에 .. 더보기
Windows OS의 구조 및 원리 - 쓰레드 이전 글에서 프로세스에 대해 언급하고 간략하게나마 어떻게 구성되어 있는지 알아보았다. 이번에는 쓰레드라는 것에 대해서 알아 볼텐데 일단 쓰레드가 무엇인지 한번 알아보자. 쓰레드란, 실제 CPU에 의해서 명령어가 실행되는 주체를 말한다. 프로세스와 쓰레드의 관계는 지주와 소작농이라고 보면 된다. 프로세스는 자신 밑에 쓰레드를 두어 일을 시키고 쓰레드는 프로세스의 관리를 받으며 일을 한다. 프로세스는 EPROCESS 구조체를 이용해 메모리에서 구성된다고 하였는데 쓰레드는 ETHREAD 구조체를 이용해 그 구조가 형성 된다. 프로세스는 무조건 쓰레드 1개 이상을 가지고 있다. ETHREAD의 주요 멤버들은 다음과 같다. - struct _DISPATCHER_HEADER Header : 쓰레드의 종료와 관련된 .. 더보기
Windows OS의 구조 및 원리 - 프로세스 Windows 에서는 실행중인 프로그램을 프로세스라고 부른다. 프로세스는 두가지의 의미 또는 단위로 사용 된다. - 자원 소유의 단위(의미) : 프로세스는 Memory에 독자적인 영역을 가지고 있으며 실행 이미지 로더와 I/O 장치도 독자적으로 할당 받아야 한다. - Dispatching 단위(의미) : 프로세스는 CPU의 자원을 일정기간 동안 할당 받아 명령어를 실행해야 하며 OS는 병렬 명령처리를 위해 CPU의 사용시간을 각 프로세스들에게 골고루 나누어 주어야 한다. Windows 에서 프로세스는 여러가지 구조체들로 관리되고 이루어진다. 그 중 중요한 구조체와 멤버들에 대해서 알아보도록 하겠다. Windows Kernel에서는 EPROCESS 구조체를 사용 해 kernel Memory의 프로세스를 구.. 더보기