본문 바로가기

컴터생각

프로세스 메모리 읽어내기..

국내 인터넷 뱅킹에 메모리 해킹이 적용되면 큰일이라는 이야기들이 나오던데.. 정말 그런 일들이 대규모로 일어난다면 속수무책인 금융사건이 발생할지도 모른다.. 하지만, 내가 걱정하고 있는다고 해서 상황이 바뀌는 것도 아니고, 이런 문제점을 해결하기 위한 난세의 영웅이 될 수 있는 것도 아니니 뒤로 미뤄두기로 하고.. 관심을 다른데로 돌려보자..

어떻게 이런 것이 가능할까? 게임에서는 이미 많이 사용되던 기법이라고 하는데, 컴퓨터 상에서 실행되는 프로그램은 컴퓨터의 구조상 필연적으로 메모리에 올라가게 되어 있으며 이 메모리를 읽어내는 기술을 아는 사람에게는 그 어떤 데이터도 보호할 수 없는 상황인 것이 문제다.. 이를 위한 해결책은 논하는 것은 내 능력 밖의 일인 것 같고..

메모리를 읽어내는 좋은 샘플이 하나 있다.. Minesweeper, Behind the scenes, Enhancement for the cool Minesweeper Memory Reader 라는 글에서 소개된 윈도우즈의 지뢰찾기 프로그램의 메모리를 읽어 지뢰가 있는 위치를 알려주는 프로그램이다.. 이 처럼 내 컴퓨터의 메모리에 올라가 있는 데이터는 전문지식만 갖추면 쉽게 꺼내 볼 수 있다..
사용자 삽입 이미지

문제는 어느 메모리에 어떤 값들이 있는지를 알 수 없다는 것인데.. 리버스 엔지니어링을 통하면 시간이 걸리는 것이 문제지, 마음만 먹으면 알아낼 수 있다.. (예 : Olly Debugger 사용해보기에 리버스 엔지니어링에 관한 몇개의 글이 링크되어 있다..)

결국 아직까지는 메모리 속의 데이터까지 암호화를 하거나 보호하지는 않기 때문에 S/W들의 크랙버젼이 나오고, Microsoft가 온라인인증 기능을 넣어 윈도우를 출시한지 하루만에 이를 무력화 시키는 불법 윈도우 설치본이 나오기도 하는 것이다..

리버스 엔지니어링.. 나중에 은퇴해서 좀 한가해지면 심심풀이로 공부해볼라고 마음먹고 있는 분야다.. 메모리 속을 들여다 보고 내 맘대로 제어할 수 있다면 정말 흥미로울 것 같다..
728x90