Front-end_dev

랜섬웨어 본문

Security

랜섬웨어

Eat2go 2018. 12. 20. 04:22


PART1 : 랜섬웨어 알고리즘


1. 루트디렉터리에서 출발해(DFS) 모든디렉터리내의 파일(특정확장자)을 암호화시킴


2. 랜섬웨어 프로그램을 실행시키면 암호화할 키(private key)를 random하게 생성함


3. 생성된 private key와 피해자의 ip address를 공격자 서버로 전송.


4. 공격자의 데이터베이스에 피해자의 private key, ip address, 감염된날짜, 컴퓨터시스템이름 총4개를 저장 (primary key는 컴퓨터시스템이름)


5. 피해자가 공격자의 요구조건을 만족시켰을 시 피해자의 컴퓨터 이름을 기반으로 private key를 데이터베이스에서 조회후 피해자에게 알려줌


6. 피해자는 private key를 가지고서 decoder 프로그램을 통해 파일 복호화



PART2 : 피해자를 모으는 방법


랜섬웨어 툴은 만들었다. 그런데 피해자를 어떻게 모을수있을까? 즉, 이 프로그램을 다운로드 받고 실행시키게 하는 아이디어가 필요하다.


생각한 방법은 크게 2가지이다


1. 피싱사이트를 만들고 사이트에서 필요한 보안프로그램이라고 속인뒤 프로그램을 다운로드받게하고 실행시키게한다.

문제점 : 피싱사이트가 피싱사이트라고 유명해질경우 더이상 모으기힘듬

솔루션 : 또다른 피싱사이트를 만듬


2. 사설토토, 게임핵 등 불법적인 행위에 관심있는 사람들을 타겟으로한다.


게임핵 프로그램이라고 속인뒤, 다운로드받아 실행시키게한다. 단, 완벽하게 속이기위해 진짜 핵을 만들수있어야함



PART3: 완벽한 랜섬웨어


밑의 시뮬레이션 영상은 간단한 랜섬웨어이고, 운영체제가 이전날짜로 복구할수있는 기능을 제공하면 무용지물임.

완벽하게 랜섬웨어를 걸고싶다면 운영체제에 대한 이해가 정말 빠삭해야함. 운영체제에서 복구시킬수있는 모든방법을 차단시켜야한다. 정말 어려운문제임.



PART4 : 문제점

이 프로그램은 victim들을 관리하기위해 database를 운용하는데, victim이 프로그램을 실행시켰을떄 attacker서버로 ip address, date, private key등 정보를 보낸다. 이떄 packet 탈취해서 attacker server address를 얻으면 오히려 attacker의 정보를 공개하게되는꼴이된다.

따라서 실제로 악의적으로 돈을 벌 의도라면 그 어떤 네트워크송수신코드가없어야함



'Security' 카테고리의 다른 글

login brute forcing  (0) 2018.12.20
keylogger  (0) 2018.12.20