본문 바로가기

전체 글

(30)
abex' crackme #1 1. 실행 실행하면 창이 하나가 뜬다.내용을 보면 'Make me think your HD is a CD-Rom'이라 적혀있다.HD를 CD-Rom으로 인식하게끔 요구하는 것 같다.확인 버튼을 눌러보겠다. 확인 버튼을 누르자 에러 메시지가 나온다.'Nah... This is not a CD-Rom Drive!' 요구하는 대로 인식하지 못해서 나오는 메시지인거 같다. 2. 실행파일 분석 올리 디버거를 사용하여 실행파일을 분석해보겠다.먼저, 올리 디버거에 실행파일을 올린 뒤에 'F9'를 눌러 Entry Point로 이동하였다. 이동한 후 'F8'을 사용하여 어셈블리 명령어를 하나씩 실행하였다. 'CALL ' 명령어를 실행하니 처음 실행파일을 실행했을 때에 뜨던 메시지가 나왔다.계속해서 다음 명령어를 실행해보겠..
4. 전용백신 개발하기 4.1 전용백신이란? 특정한 악성코드 하나를 진단하고 치료하는 백신을 의미한다. 다양한 악성코드를 진단하고 치료하는 일반백신보다 검사 속도가 빠르고 정확한 치료를 한다는 장점을 가지고 있다. 하지만 일반적인 백신에 비해 당연하게도 다양한 악성코드를 진단하거나 치료하지 못한다. 4.2 EICAR 전용백신 개발 실제 악성코드를 사용하여 백신 개발을 시작하기에는 상당히 조심해야할 점들이 많다. 그렇기 때문에 사용하는 것이 바로 EICAR 파일이다. 4.2.1 EICAR 파일이란? EICAR 파일은 현존하는 대부분의 백신에서 악성코드로 진단하는 파일이다. 4.2.2 EICAR 파일의 대체 파일 준비 처음에 실습을 했을 때에는 EICAR 파일을 사용하였다. 하지만, 이 파일을 사용하기 위해서는 호스트 PC에서 사..
3. 개발환경 구축 개요에서 설명했듯이 책의 내용을 철저하게 공부하면서 내용을 따라갈 것이기 때문에 개발 언어로는 Python을 사용할 것이다. Python 에디터로는 Pycham을 사용하겠다. ※ 참고 서적 : 파이썬으로 배우는 Anti-Virus 구조와 원리 (최원혁 지음)
2. 악성코드와 백신 2.1 악성코드2.1.1 악성코드란? 컴퓨터에 악영향을 미칠 수 있는 모든 소프트웨어의 총칭이다. 과거에는 디스크 복제 등 저장매체를 따라 전파되었으나 네트워크의 발전으로 이메일이나 웹으로 감염되는 경우가 훨씬 많아졌다. 2.1.2 악성코드의 역사 가장 영향력 있었던 악성코드 15개Brain(1986) : 최초의 PC 바이러스Morris(1988) : 인터넷에 연결된 컴퓨터의 약 10%가 이 웜에 의해서 감염Michelangelo(1992) : 언론에 주목받은 최초의 바이러스Concept(1995) : 최초의 매크로 바이러스Melissa(1999) : 글로벌 감염에 따른 악성코드에 의한 대량 메일 발송 시대를 만듦Slammer(2003) : 전 세계적으로 네트워크를 마비시킨 웜, 1.25 대란Cabir(..
1. 백신 개발에 필요한 지식 백신을 개발하기 위해서는 다양한 선수 지식들이 필요하다.그 중 절대적으로 알아야할 지식들을 몇가지 알아보자. 1.1 운영체제의 동작 원리1.1.1 실행 파일의 실행 순서 어떠한 악성코드는 운영체제의 실행 파일의 실행 순서를 이용하는 경우도 있다. 예를 들면, 이름이 같은 특정 파일들이 존재한다. 하지만, 이 파일들은 각기 다른 확장자를 가지고 있다. exe, bat, com이다. 사용자가 정확한 확장자 없이 파일명으로만 파일을 실행하려고 하면 운영체제는 정확한 파일을 찾기 위해 제일 먼저 com 확장자를 검색한다. 그 다음이 exe, bat이다. 만약 검색 과정에서 com 확장자를 발견했다면 해당 파일은 실행이 되고 이후의 확장자 검사는 추가로 하지 않는다.파일 확장자 우선 순위 : com → exe →..
개요 나만의 안티바이러스 프로그램을 만드는 프로젝트이다.이 프로젝트는 '파이썬으로 배우는 Anti-Virus 구조와 원리 (최원혁 지음)'을 읽고 시작하기로 결심했다.이 책의 저자인 최원혁님은 우리가 흔히 알고 있는 바이로봇 개발자이다.책에서 백신의 기본 원리와 관련 지식들을 아주 이해하기 쉽고, 지루하지 않게 잘 풀어주었다.이번 프로젝트는 책의 내용을 철저히 따라갈 것이다.때문에 사용할 언어는 Python이다. 프로젝트가 끝나고 나면 바로 C/C++로 변형하는 작업을 다음 프로젝트로 진행할 것이다. ※ 참고 서적 : 파이썬으로 배우는 Anti-Virus 구조와 원리 (최원혁 지음)