본문 바로가기

전체 글140

20. 악성코드 샘플 수집 및 기초 • 정적분석 (1) 이전에 구성한 Snort 환경을 기반으로 탐지 패턴을 만들어야 하기 때문에 네트워크 행위를 명확하게 하는 샘플을 찾는 것이 중요하다. 하지만 샘플이 HTTPS로 통신을 하게 되면 관련 패킷들이 모두 암호화가 되어있다 보니 네트워크 행위를 하더라도 HTTP로 통신을 하는 샘플을 찾아야 되는 수고로움이 있다. 이 샘플을 구하는 것 자체가 생각보다 많은 시간이 소요되며, 실무에서도 동일한 업무를 수행할 때 정말 많은 비중을 차지한다고 한다. 탐지 패턴을 하나 만드는 데 보통 3주 정도 기간을 갖고 진행을 한다고 봤을 때, 평균적으로 1주에서 2주 정도를 샘플링을 하는데 시간을 보낸다고 한다. 그리고 샘플 분석에 3일, 보고서를 작성하는 데 2~3일을 일반적인 기간으로 본다. 샘플이 네트워크 행위를 정말로 하는.. 2024. 3. 31.
19. Snort 환경 구성 이전 글에서는 Snort 이론적 내용을 다루면서 Snort가 어떠한 개념의 소프트웨어인지 알 수 있었다. 이번 글에서는 Snort를 직접 사용하기 위해 환경 구성을 실시하는 과정을 다룰 것이다. Snort는 환경 구성에 있어서 상당히 민감한 편이기 때문에, 수많은 오류가 발생할 수 있다. Snort 환경 구성 - 필요 프로그램 설치 먼저 Vmware에 두 가지 가상 환경을 추가로 생성하여 한쪽을 Server, 다른 한쪽을 Client(Victim)로 이름을 명명한 후에, Server 환경에 아래 프로그램을 설치한다. Snort 버전 3은 리눅스 전용이므로, Snort 2.9.2.3 ver 설치 Winpcap(https://www.winpcap.org/) 윈도우 운영체제에서 패킷을 캡처하기 위한 라이브러리.. 2024. 3. 24.
18. Snort 다음부터는 보안 관제 프로젝트를 실무와 유사한 형식으로 진행할 예정이다. 악성 샘플을 구하는 것부터 시작해서 기초, 정적, 동적분석을 진행하고 동적분석 과정에서 네트워크 트래픽 및 패킷을 분석할 때, 만드는 탐지 패턴을 실제로 Snort 환경에다가 적용할 것이다. 위의 탐지 패턴을 적용했을 때, 악성 코드를 실행시키면 정말로 탐지가 되는지와 같이 관제 업무 프로세스와 관련된 부분을 직접적으로 경험해 보는 그런 과제를 수행할 것이다. 즉, 이번 글에서는 이를 위해 Snort에 대한 이론적인 개념을 알아보고자 한다. Snort 개념 네트워크 침입 탐지 시스템(IDS) 및 네트워크 침입 방지 시스템(IPS)으로 사용되는 오픈 소스 소프트웨어로 네트워크 상에서 발생하는 데이터 트래픽을 실시간으로 모니터링하여 .. 2024. 3. 5.
17. 악성코드 분석 보고서 이번 글에서는 dgrep.exe 샘플 파일의 분석 결과를 보고서로 작성해 보았다. 악성코드 분석 보고서 작성 시에 중요하게 다뤄야 할 포인트는 다음과 같다. 목차는 최대한 상세하게 구분하여 작성하기캡쳐 등 이미지 파일 첨부 시 해당 이미지 파일에서 확인해야 할 부분 박스, 밑줄 활용하여 표현하기이미지에 대한 설명과 결론은 분석한 내용을 바탕으로 최대한 상세하게 작성하기대응 방안 작성하기악성 코드 분석 보고서 작성 후 띄어쓰기, 오타 확인 보완할 점 텍스트 내에 중요하게 봐야 할 포인트 볼드체, 밑줄 표시, 색상 등 활용전문 용어 주석 추가페이지 넘버링 2024. 2. 26.
16. 악성코드 샘플 분석(2) : 하 이번 글에서는 저번 정적분석 글에 이어서 동적분석을 진행할 것이다. 동적분석 - Process Explorer 위의 사진은 dgrep.exe를 실행 후 순간적으로 일어난 프로세스를 캡처한 것이다. 'conhost.exe', 'cmd.exe' 프로세스는 cmd를 실행시키는 행위 'PING.EXE' 프로세스는 TCP/IP Ping 명령으로 네트워크 관련 행위를 하는 것으로 추정이 가능하다. 후속 동적분석에서 위의 3가지 프로세스를 유심히 살펴볼 필요성이 있다. 실행 후 시간이 어느 정도 지난 후의 프로세스 캡처본이다. 먼저 dgrep.exe 원본 파일이 삭제된 것으로 보아 트로이목마 성격을 가지고 있음을 알 수 있으며, 'rundll32.exe'이라는 파일을 실행시키면서 'wiseman.exe'이라는 프로세.. 2024. 2. 19.
15. 악성코드 샘플 분석(2) : 상 악성코드 샘플 분석을 할 때, 일반 사용자의 권한으로 실행시키는 방법도 있지만 우클릭을 통해서 관리자 권한으로 실행시키는 방법이 존재한다. 관리자 권한으로 실행시켰을 때는 좀 더 다른 내용들을 볼 수 있는 경우도 존재하기 때문에, 이를 하나의 팁으로 생각하고 진행해도 좋다. 물론 샘플 파일이 활동했던 과거와는 많이 달라져서 현재 시점에서는 특이한 포인트가 많이 보이지 않을 수 있다. 이번 글에서는 "dgrep.exe"라는 샘플 파일을 분석해 볼 것이다. 생성일이 현재 시점으로부터 약 8년 이상의 차이가 있다. 현재는 정상적으로 작동하지 않을 가능성이 매우 높다고 유추할 수 있다. 기초분석 - Virustotal DETECTION 72개의 백신 중 67개의 백신이 악성코드로 진단하였으므로, 해당 파일은 악.. 2024. 2. 16.
14. 악성코드 샘플 분석(1) 악성코드 분석은 사실상 정답이 없는 문제를 푸는 것과 유사하다고 표현한다. 즉, 최대한 많은 분석들을 통해서 직접 쌓은 경험을 기반으로 답을 도출해 나가는 과정이다. 또한 악성코드는 분석하는 환경에 따라서도 얼마든지 결과가 달라질 수 있으며, 악성코드 자체적으로 시간이 지남에 따라 활동의 변화가 생길 수 있다. Virustotal에서 누군가 과거에 분석한 결과와 본인이 직접 분석한 결과가 다르다고 해도 본인이 틀렸다고 생각할 이유는 없는 것이다. 이러한 이유로 악성코드가 어떻게 동작할지 자세하게 알 수 없기 때문에, 우리는 최대한 여러 가지 툴을 잘 활용하고 상세한 분석을 통해 결과를 만들어나가는 것이다. 이번 글에서는 "bton02setu.exe" 라는 샘플 파일을 분석해 볼 것이다. 먼저 파일의 속성.. 2024. 1. 28.
13. 정적, 동적 Tool 실습 이번 글에서는 아래의 Tool을 직접 사용해 볼 것이다. Exeinfo PE, bintext, PEview, Process Explorer, Process Moniter, System Explorer, Autoruns, Currport, Smartsniff, Wireshark 위의 Tool 외에도 정말 많은 Tool이 존재하지만, 실무에서는 위에 해당하는 툴을 통해서 분석하는 것이 가장 일반적이다. 그렇기 때문에 위의 Tool을 우선으로 명확하게 잘 이해하면서 사용법을 익혀 주는 것이 좋다. 이후에 좀 더 시간이 된다면 다른 추가적인 툴은 없을지 찾아보는 것도 좋은 방법이 될 수 있다. 정적분석 및 동적분석으로 나누어 자세히 알아보자. 정적분석 : 패킹 - Exeinfo PE 정적 분석을 진행할 때는 우.. 2024. 1. 24.
12. 샘플 분석 환경 구성 악성 샘플을 분석하기 위해서는 로컬 환경이 아닌 윈도우와 동일한 가상환경을 구성하여, 해당 환경에서 진행을 해야 한다. 효과가 미미한 악성샘플의 경우는 백신에 의한 치료를 하면 되겠지만, 랜섬웨어 같은 크리티컬 한 악성코드의 경우는 해결 방법이 없기 때문에 별도의 환경을 구성하여 분석을 실행해야만 한다. 가상 환경에서 악성코드 분석을 진행할 때, 로컬 환경에 있는 백신에서 악성코드가 감지되었다는 알람이 발생되는 경우들이 있다. 이 백신 같은 경우는 가상 환경과 로컬 환경 사이를 구분하지 못한다. 하지만 가상 환경 내에서 일어나고 있는 동작까지는 탐지가 가능한 것이다. 즉, 위와 같은 경우가 발생하더라도 로컬 환경에 영향을 미치지는 않는다. 그리고 동적분석 진행할 때 앞으로 여러 가지 툴을 사용할 것이다... 2024. 1. 13.
11. 정적 / 동적분석 / Tools 정적분석과 동적분석의 개념과 각각의 Tool(도구)는 무엇이 있는지 알아보자. 위의 개념들도 중요하지만, 툴을 직접적으로 사용해서 악성코드 분석에 활용하는 것이 앞으로 좀 더 중요하게 봐야 될 포인트라고 할 수 있다. 그래서 앞으로 가상 환경을 구성하여 해당 환경 내에서 직접적으로 툴을 직접 사용해 보면서 사용법을 익히고 악성코드 분석을 진행하는 과정을 거칠 것이다. 정적분석, 동적분석 - 개념 악성 코드 분석할 때 기본적으로 정적분석과 동적분석 두 가지로 나눠서 진행한다. 이 정적분석과 동적분석의 방향성을 제시해 주는 것이 기초분석 즉, Virustotal을 통해서 진행하는 분석방법인 것이다. 그리고 분석을 진행할 때 분석 방법에 해당하는 각각의 도구들을 적절히 활용하여 분석을 진행하는 것이다. 먼저 .. 2024. 1. 9.
10. Virustotal Virustotal(https://www.virustotal.com/)은 보안 분야에서 실무를 하게 될 때, 정말 많이 사용되는 웹 사이트 중 하나이다. IP 주소, 도메인 주소 검색, 악성코드 분석, 샘플 파일 분석 등 정말 많은 목적으로 사용한다. Virustotal 기능 약 70여 개의 안티바이러스 엔진을 활용하여, 파일, URL, IP 등의 악성코드 스캔 결과를 확인할 수 있는 웹 사이트이다. 또한, VirusTotal은 파일 해시값을 통해 이전의 악성 코드 검사 기록을 확인할 수 있다. 파일을 업로드하면 해당 파일의 해시값이 자동으로 생성되고, 이 해시값을 사용하여 VirusTotal에서 해당 파일의 과거 스캔 결과를 조회할 수 있는 것이다. 크게 웹 사이트 내에는 위와 같이 FILE / URL.. 2023. 12. 24.
9. 보안관제 보안 분야에서 하게 될 업무는 여러 가지가 있다. 이번 글에서는 보안 직무에서 제일 기본이 되는 직무인 보안관제를 알아보겠다. 보안관제 보안관제는 여러 가지 의미로 정의할 수 있지만, 사실 가장 중요한 키워드는 '실시간 모니터링'이다. 실시간 모니터링 활동을 통해서 사이버 공격에 대응하는 일련의 활동을 보고 보안관제라고 이야기한다. 정의 및 목적 사이버공격 등 정보통신망에서 발생하는 보안 이벤트를 24시간 탐지, 이상징후 분석, 침해사고 대응까지 하는 일련의 활동이다. 즉, 다양한 IT 자산을 모니터링하여 잠재적 보안 위협을 탐지하고, 이에 대한 대응(복구/분석)을 수행하는 프로세스 또한 포함한다. 보안관제 직무 이러한 보안관제 및 사이버 보안 이벤트를 대응하기 위해서 조직은 자체적으로 SOC(Secur.. 2023. 12. 20.