기본 용어 정리
개인의 정보 보안 학습을 위해 작성되었습니다. 본 게시물을 불법적으로 활용하실 경우 혹은 본 게시물로 인해 발생하는 모든 문제에 대한 책임은 당사자에게 있으며, 작성자는 어떠한 법적 책임도 지지 않음을 밝힙니다. 해당 문서를 열람하는 것은 이에 대해 동의하는 것으로 간주합니다.
익스플로잇(Exploit)
버그 또는 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드나 행위
PoC(Proof of Concept)
개념 증명, 기존 시장에 없었던 신기술을 도입하기 전에 이를 검증하기 위해 사용하는 것.
보안에서는 취약점을 이용한 공격이 가능함을 보여주는 시현 코드.
취약점(Vulnerability)
보안상의 문제점을 안고 있는 컴퓨터 시스템의 약점, 위협이 발생할 수 있는 조건, 상황
위협(Treat)
자산에 악영향을 끼칠 수 있는 조건, 사건, 행위
위험(Risk)
위협이 취약점을 이용해 손실, 피해를 가져올 가능성
Command Injection
웹 요청에 시스템 명령어 값을 조작하여 의도하지 않은 시스템 명령어를 실행시키는 공격 기법
FSB(Format String Bug)
printf와 같은 문자열 입력 Format을 잘못된 형태로 입력하는 경우 나타나는 bug, 서식문자(format sequence)가 원인.
Use-After-Free
Free된 포인터를 사용함으로써 발생하는 버그
Reverse Engineering
소프트웨어 역공학을 통해 취약점을 조사하는 방법
Fuzzing
프로그램이 받아 들이는 Input을 랜덤하게 발생시켜 프로그램을 찾아내는 방법
APT(Advanced Persistent Threat)
잠행적이고 지속적인 컴퓨터 해킹 프로세스들의 집합, 특정 실체를 목표로 하는 사람들에 의해 종종 지휘
SSD TRIM
OS가 한가할 때 삭제된 데이터를 미리 비워두는 작업
(SSD는 삭제된 블럭에 새로운 데이터를 저장 시 덮어 쓰기가 안 됨, 미리 블럭을 비워놓지 않으면 쓰기 작업을 할 때 블럭을 비우는 작업을 해야하기 때문에 쓰기 성능 저하 가능)
Shellcode
시스템의 특정 명령을 실행하는 작은 사이즈의 프로그램, 공격 대상 시스템의 명령어 쉘(Command Shell-etc:bash)을 실행시킨다는 의미로부터 파생되었으며 주로 소프트웨어 취약점을 통한 공격(Exploitation) 이후 실행될 작은 규모의 프로그램(Payload)으로 사용