본문 바로가기

공부/보안

[dreamhack] System Exploitation 1강

반응형

1강 시스템 해킹이란?

1.1

해킹 : 컴퓨터의 하드웨어, 소프트웨어, 네트워크, 웹사이트 등 각종 정보 체계서 주어진 권한 이상을 얻거나 의도치 않은 동작을 일으키는 행위를 의미 (컴퓨터 보안)

- 엄연히 논리와 규칙을 따르며, 그 원리를 살펴본다면 이해 가능

- 단순히 규칙을 창조적으로 활용해 의도치 않은 결과를 얻어내는 일련의 행위

 

분류

- 웹 사이트를 공격하는 웹 해킹

- 컴퓨터와 컴퓨터가 연결되는 네트워크를 공격하는 네트워크 해킹

- 프로그램의 약점을 공격하는 시스템 해킹

 

1.2

소프트웨어 버그 :프로그램이 잘못된 결과를 내거나, 오류를 발생하는 등 의도치 않은 동작을 수행하게 되는 문제

- 프로그래머가 의도하지 않은 동작을 수행하는 소프트웨어 버그(Bug)가 가장 상위

- 보안에 영향을 미치는 버그를 소프트웨어 취약점(Vulnerability)

 

소프트웨어 취약점 : 공격자가 주어진 권한 이상을 획득하거나 프로그래머가 의도하지 않은 동작을 수행할 수 있도록 하는 소프트웨어 버그

익스플로잇 가능 취약점(Exploitable Vulnerability) : 소프트웨어 취약점을 이용해 공격자가 의도한 동작을 수행할 수 있는 버그

 

익스플로잇(악용) : 취약점을 이용해 공격자가 의도한 동작을 수행하게 하는 코드 혹은 이를 이용한 공격 행위

(안정적으로) 익스플로잇 가능한 취약점(Reliably Exploitable Vulnerability) : 익스가 가능한 취약점 중 높은 확률로 공격에 성공할 수 있는 버그

 

 

 

Attack Vector(공격 벡터) : 소프트웨어와 공격자가 상호 작용(사용자의 입력 등)에서 소프트웨어 취약점의 발생 장소

- 이러한 집합을 Attack Surface

 

취약점

- C와 같은 저수준 언어에서 메모리를 조작해 공격하는 메모리 커럽션 취약점

    - Buffer Overflow(BOF) : 프로그래머가 할당한 크기의 버퍼보다 더 큰 데이터를 입력받아 메모리의 다른 영역을 오염시킬 수 있는 취약점

 

    - Out-Of-Boundary(OOB) : 버퍼의 길이 범위를 벗어나는 곳의 데이터에 접근할 수 있는 취약점

 

    - Off-by-one : 경계 검사에서 하나 더 많은 값을 쓸 수 있을 때 발생하는 취약점

 

    - Format String Bug(FSB) : printf나 sprintf와 같은 함수에서 포맷 스트링 문자열을 올바르게 사용하지 못했을 때 발생하는 취약점

 

    Double Free / Use-After-Free(UAF) : 동적 할당된 메모리를 정확히 관리하지 못했을 때 발생하는 취약점

        - Double Free : 이미 해제된 메모리를 다시 한번 해제하려 하는 것

        - Use-After-Free : 해제된 메모리에 접근해 이를 사용하려 하는 것

 

 

- 메모리 조작 필요 없이 공격할 수 있는 로지컬 취약점

    - Command Injection : 사용자의 입력을 셸에 전달해 실행할 때 정확한 검사를 실행하지 않아 발생하는 취약점

 

    - Race Condition (보안 취약점으로서) : 여러 스레드나 프로세스의 자원 관리를 정확히 수행하지 못해 발생하는 취약점 (발생 원인과 공격 방법에 따라 메모리 커럽션 취약점 될 수 있음)

 

    - Path Traversal : 프로그래머가 가정한 디렉토리를 벗어나 외부에 존재하는 파일에 접근할 수 있는 취약점(주로 "../" 등의 경로 문자를 검사하지 않아 발생)

 

 

1.3

보호기법(Mitigation)으로 취약점을 통한 공격을 어렵게 만든다.

ex) 스택 버퍼 오버플로우에 대한 보호기법 중 하나인

Stack Smashing Protectort(SSP) : 버퍼 뒤에 랜덤한 값을 넣어두고, 값을 특정 시점에 검사해 버퍼 오버플로우가 발생하는지 탐지

→ 이로 인해 공격자는 프로그램에서 버퍼 오버플로우 취약점을 발견해도 공격하기 어려움

반응형

'공부 > 보안' 카테고리의 다른 글

[dreamhack] System Exploitation 3강  (0) 2021.03.07
나 보려고 정리해두는 gdb 명령어  (0) 2021.03.07
[dreamhack] System Exploitation 2강  (0) 2021.03.06
[pwnable.kr] - collision  (0) 2021.03.01
[pwnable.kr] fd  (0) 2021.02.26