2012-01-29 3 views
1

런타임 이후에 누군가 내 응용 프로그램의 메모리에 코드를 주입하는 데 문제가있는 것 같습니다. 현재 보안을 구현하여 디스크의 파일을 수정했는지 확인하므로이 사람이 프로그램을 부팅하고 프로세스 메모리에 코드를 주입합니다. 내 질문은 디스크 밖에서 메모리가 아닌 응용 프로그램을 끌어낼 수 있습니다.access .net 프로그램에서 메모리.

제 질문은 디스크에 있지 않고 메모리에있는 프로세스를 가져 오는 방법이 있습니까?

답변

1

사용자 프로그램은 사용자 컴퓨터의 게스트입니다. 사용자가 OllyDBG과 같은 디버거를 부착하거나 임의의 메모리를 읽거나 쓰지 못하게하는 것은 아무것도 없습니다. 모든 신청서는이 조항의 적용을받습니다. 이렇게하면 메모리에 비밀 키 또는 암호를 숨기려고하는 것과 같은 다른 보안 문제가 발생하는 경우 이것이 취약점입니다. 디버거를 연결하는 것은 환경의 일부입니다.

안티 디버깅은 실제로는 (in)Security Though Obscurity의 방법입니다. 이 "보안"조치에 대응하기위한 안티 디버깅 방지 기술이 있습니다. 안티 - 디버깅 기술이 항상 느슨한 고양이와 마우스 게임.

+0

이것은 ollydbg가 아니므로 사용자에게 쉽게 재배포되는 C++ 프로그램입니다. 그것은 내 관심사입니다. 그저 그렇게 할 수있는 것이 아무것도 없다면 그렇게 할 수는 있지만, 어렵게 만들거나 불편하게 만들 수있는 일이 있다고 가정 할 것입니다. – willthiswork89

+0

@ willthiswork89 그래, 이건 불가능 해. 말이된다? – rook

관련 문제