Jump to content
Sign in to follow this  
traitor

[Malware] : Malicious Code Delivery

Recommended Posts

Heap에 allocate된 메모리에 쓰인 바이너리는 실행을 막기 위해 DEP를 사용하는데 이를 Bypass하여 실행할 수 있다면 어떨까요.

Online에서 다운로드한 코드를 메모리에서 실행한다면 Detection이 어렵지 않을까요

Share this post


Link to post
Share on other sites
13 minutes ago, maxswjeon said:

Heap에 allocate된 메모리에 쓰인 바이너리는 실행을 막기 위해 DEP를 사용하는데 이를 Bypass하여 실행할 수 있다면 어떨까요.

Online에서 다운로드한 코드를 메모리에서 실행한다면 Detection이 어렵지 않을까요

제가 악성 코드 전문가는 아니지만은....
보통 악성 코드가 전달 되는 경우는 두가지 정도가 있을 수 있겠네요 (물론 더 있을겁니다 ㅎㅎ)

악의적으로 빌딩된 어플리케이션을 victim에서 실행 하는 경우나

victim에서 돌아가고 있는 취약한 서비스를 공격 한다거나... 하는 경우로 말이죠

전자같은 경우에는 애초에 '실행'만 하면 해당 victim 환경에서 대부분의 리소스를 활용 할 수 있기 때문에 DEP나 이런거와는 관련이 없을듯 하구요
그래서 실행 전에 탐지를 하거나 실행 해도 샌드박스에서 돌아 가도록 하는게 중요한거구요

후자같은 경우에는 취약점에 대한 대처가 되지 않으면 해커가 공격을 할 수 있는데, 해당 취약점이 어떤 취약점이냐에 따라 ( memorry corruption, command injection, ... ) 공격 방법이 달라지겠죠 예를 들자면 command injection같은 경우는 앞에서 말한 경우와 마찬가지로 대부분으 리소스를 이용 가능 할테니 persistence를 유지 할 방법만 찾으면 될거구요. 기본적으로 memory상에 상주하면서 persistency를 유지하기는 엄청 힘들 거 같구요
하지만 memory corruption같은 취약점의 경우에는 대부분 ROP같은것들을 이용 하죠. 이런 친구들도 결국 악성 코드의 이유인 악성 행위를 위한 'persistence'를 유지 하기 위해서는 다른 long-term process로 migrate 하거나 백도어를 심거나 하는 행위가 필요 하기때문에 결국 메모리 밖을 벗어나 쉘이나 파일시스템 이런것에 접근을 해야 합니다.(아닌 경우도 있나요? 잘 몰라서요 ㅎ)
그러면 결국 악성파일을 파일시스템에 심거나 프로세스로 띄워져 있어야겠죠?

이렇게 persistence를 유지 하기 위해 시스템에 심어 놓은것들을 어떻게 bypass를 할지가 관건이기 때문에 dep나 그런것들과는 상관이 없어 보입니다 ^^...

Edited by 314ckC47
  • Thanks 1

Share this post


Link to post
Share on other sites
2 minutes ago, 314ckC47 said:

제가 악성 코드 전문가는 아니지만은....
보통 악성 코드가 전달 되는 경우는 두가지 정도가 있을 수 있겠네요 (물론 더 있을겁니다 ㅎㅎ)

악의적으로 빌딩된 어플리케이션을 victim에서 실행 하는 경우나

victim에서 돌아가고 있는 취약한 서비스를 공격 한다거나... 하는 경우로 말이죠

전자같은 경우에는 애초에 '실행'만 하면 해당 victim 환경에서 대부분의 리소스를 활용 할 수 있기 때문에 DEP나 이런거와는 관련이 없을듯 하구요
그래서 실행 전에 탐지를 하거나 실행 해도 샌드박스에서 돌아 가도록 하는게 중요한거구요

후자같은 경우에는 취약점에 대한 대처가 되지 않으면 해커가 공격을 할 수 있는데, 해당 취약점이 어떤 취약점이냐에 따라 ( memorry corruption, command injection, ... ) 공격 방법이 달라지겠죠 예를 들자면 command injection같은 경우는 앞에서 말한 경우와 마찬가지로 대부분으 리소스를 이용 가능 할테니 persistence를 유지 할 방법만 찾으면 될거구요. 기본적으로 memory상에 상주하면서 persistency를 유지하기는 엄청 힘들 거 같구요
하지만 memory corruption같은 취약점의 경우에는 대부분 ROP같은것들을 이용 하죠. 이런 친구들도 결국 악성 코드의 이유인 악성 행위를 위한 'persistence'를 유지 하기 위해서는 다른 long-term process로 migrate 하거나 백도어를 심거나 하는 행위가 필요 하기때문에 결국 메모리 밖을 벗어나 쉘이나 파일시스템 이런것에 접근을 해야 합니다.(아닌 경우도 있나요? 잘 몰라서요 ㅎ)
그러면 결국 악성파일을 파일시스템에 심거나 프로세스로 띄워져 있어야겠죠?

이렇게 persistence를 유지 하기 위해 시스템에 심어 놓은것들을 어떻게 bypass를 할지가 관건이기 때문에 dep나 그런것들과는 상관이 없어 보입니다 ^^...

사실 악성코드 전문가는 아니기때문에..

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×

Important Information

I have read and accept the above terms.