안녕하세요.
이 동영상에서는 멀웨어 분석 용어를 살펴봅니다.
다음은 몇 가지 기본 용어입니다: 패킹, 난독화, 디스어셈블러 또는 디컴파일러, 디버거, IOC 및 멀웨어
아티팩트.
포장/패커.
패킹된 멀웨어에는 압축되거나 암호화된 일부가 포함되어 있습니다.
스텁은 이 압축된 부분을 언팩한 다음 다른 프로세스 메모리에 주입하거나
별도의 프로세스로 실행하여 실행합니다.
따라서 패킹된 멀웨어는 스텁과 페이로드의 두 부분으로 구성됩니다.
페이로드는 압축된 부분이며, 스텁은 페이로드를 메모리로 압축 해제하기 위해 먼저 실행됩니다.
난독화.
난독화는 변수에 의미 없는 문자열을 사용하므로 변수의 기능과 목적을 이해하기
어렵습니다.
또한 함수 이름에 의미 없는 문자열을 사용하여
멀웨어 분석가가 함수의 목적을 알 수 없도록 합니다.
때로는 문자열을 Base64로 인코딩할 수도 있습니다.
난독화에는 문자열을 작은 부분으로 나누고 각 부분을 런타임 중에 난독화할 목적이 있는
함수로 대체하는 것도 포함될 수 있습니다.
그런 다음 이러한 부분을 결합하여 연결하여 원래 문자열을 형성합니다.
이 기술의 예는 일반적으로 PowerShell이나 JavaScript 또는 VBScript에서 찾을 수 있습니다.
멀웨어 실행 파일이나 바이너리도 난독화하거나 암호화할 수 있습니다.
디스어셈블러.
디스어셈블러는
바이너리 파일을 어셈블리 코드로 분해하는 데 사용되는 도구입니다.
파일을 실행하지 않고 분석하는 데 사용됩니다.
이 기술은 정적 분석이라고도 합니다.
디스어셈블러의 예로는 Ghidra와 IDA Pro가 있습니다.
Ghidra는 바이너리 파일을 C 소스 코드뿐만 아니라 어셈블리로 디컴파일할 수 있기 때문에 디컴파일러라고도
합니다.
디스어셈블러의 한 가지 단점은 메모리 영역을 분석할 수 없다는 점입니다.
프로그램이 실행되고 있지 않기 때문입니다.
따라서 메모리에 로드되지 않습니다.
디버거.
디버거는 프로그램을 실행한 다음 실행 중인 프로그램을 단계별로 분석하여 명령어를
단계별로 분석할 수 있는 도구입니다.
디버거는 실제로 프로그램을 실행하기 때문에 프로그램이 로드되는 메모리를 검사할
수 있습니다.
이 기술은 동적 분석이라고도 합니다.
디버거의 예로는 x64dbg와 WinDbg가 있습니다.
또한 디버거를 사용하여 압축된 프로그램이 이미 메모리에서 압축을 푼 후 메모리를 덤프하여 압축된 멀웨어의 압축을 해제할
수도 있습니다.
디버거는 동작 분석, 즉 프로그램을 실행하여 어떤 동작을
하는지 확인하는 데에도 훌륭한 도구입니다.
IOC.
IOC는 타협 지표의 약자입니다.
즉, 운영 체제 내에서 이러한 항목을 찾아볼 수 있으며, 이러한 항목이 발견되면
컴퓨터가 손상된 것을 확실히 알 수 있습니다.
그래서 타협의 지표라고 불리는 것입니다.
따라서 IOC의 예로는 파일 해시를 들 수 있습니다.
파일 해시는 해시 프로그램을 사용하여 특정 파일의 MD5 또는 SHA를 얻을 수 있습니다.
그런 다음 해당 해시와 기존 해시를 비교하여 멀웨어를 식별할 수 있습니다.
파일 이름, 이메일 주소, URL,
삭제된 파일은 물론 추가되거나 수정된 레지스트리 키도 찾을 수 있습니다.
따라서 운영 체제, 컴퓨터에서 이러한 항목 중 하나 또는 그 조합이 발견되면 컴퓨터가
손상되었을 가능성이 높습니다.
멀웨어
아티팩트.
멀웨어 아티팩트란
멀웨어 감염 후 남은 항목으로, 여기에는 침해 지표가 포함됩니다.
시청해 주셔서 감사합니다.
다음 편에서 뵙겠습니다.