전체 글143 메모리 보호 기법 DEP/NX DEP(Data Execution Protection)란 데이터 실행 방지로 스택이나 힙에서의 쉘 코드 실행을 막아주는 메모리 보호 기법이다. 종류 HardWare DEP : 가상 메모리 페이지 단위로 해당 메모리에서 코드를 실행할 수 없음을 나타낸다. SoftWare DEP : seh overwrite같이 특정 유형의 악의적인 코드 공격을 막아준다. (SafeSEH) Windows에 DEP정책 OptIn : default설정으로 필수적인 Windows 프로그램 및 서비스에만 사용(DEP가 set된 프로그램) OptOut : 사용자가 직접 선택한 항목을 제외한 모든 프로그램 및 서비스에 사용 AlwaysOn : 모든 프로세스에 항상 DEP 적용 AlwaysOff : DEP를 사용하지 않음 OptIn, O.. 2012. 9. 5. 윈도우즈 API - 파일 관련 함수(CreateFile, WriteFile, ReadFile) CreateFile() WriteFile() ReadFile() - CreateFile() : 파일 오픈 HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTE lpSecurityAttributes, DWORD dwCreationDispostion, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); lpFileName : 생성 또는 오픈할 파일의 경로와 파일이름 dwDesiredAccess : 파일 접근 모드 dwShareMode : 파일을 공유할지의 여부를 결정하는 플래그 lpSecurityAttributes : 보안속성을 지정하는 인.. 2012. 9. 3. hex,ascii,base64 등 .. 간단한 인코딩&디코딩 프로그램 Win API공부하면서 연습용으로 만들어 봤습니다. 근데 api함수보다는 인코딩 디코딩 소스부분을 더 많이 연습한것 같네요. ㅋ,ㅋ 언제 에러 뜰지 모르지만 ... 필요하신분은 사용하세요 @__ 다운로드 -> !.. 한글 유니코드 인코딩하면 뒤에 0000이 붙어버리네요ㅜ . 큰 지장은 없지만 소스를 날려버려서 수정도 못하고 .....ㅡ,ㅡ 2012. 8. 31. 메모리 보호 기법 SSP(Stack Smashing Protector) Stack Smashing Protector은 gcc 4.1버전 부터 있는 stack overflow를 방지하기 위한 컴파일러 옵션이다. gcc 4.6.1버전에서 컴파일 후 overflow가 발생하는 프로그램을 실행시켜 보니 다음과 같이 stack smashing detected가 뜨는 것을 확인 할 수 있다. SSP 끄기 : -fno-stack-protector SSP를 모든 함수에 설치 : -fstack-protector-all (원래는 일정 크기의 char배열이 있는 함수에만 적용됨) SSP의 기능을 살펴보자 1. 로컬 변수 재배치 2. 로컬 변수전에 포인터 배치 3. canary 삽입 1. 로컬 변수 재배치 #include #include #include void main(int argc, cha.. 2012. 8. 28. 이전 1 ··· 24 25 26 27 28 29 30 ··· 36 다음