본문 바로가기

Application/Debug

(80)
[해킹] 윈도우 버퍼 오버플로우 익스플로잇 개발 - 3 윈도우 버퍼 오버플로우 익스플로잇 개발 - 3 윈도우 버퍼 오버플로우의 특징 유 닉스와 같은 시스템에서 버퍼 오버플로우는 리턴 주소를 대부분 추측에 의해 계산하는 경우가 많고, 여러 번 시도할 수 있을 경우 무차별 공격(brute forcing)을 하기도 한다. 반면 윈도우 시스템은 유닉스와는 조금 다른 양상을 보인다. 리턴 주소 문제 윈 도우 시스템의 경우 스택을 오버플로우시켰을 경우 해당 함수에서 리턴하는 시점에 ebx, esp 등과 같은 레지스터에 셸 코드가 들어 있는 버퍼의 주소가 들어 있는 경우가 많다. 따라서 대부분의 경우 리턴 코드는 ‘jmp esp’나 ‘jmp ebx’와 같은 바이트 문자열이 존재하는 위치로 정해진다. 이러한 코드가 존재하는 곳으로 일단 제어권을 넘길 수만 있다면 esp나 ..
[해킹] 윈도우 버퍼 오버플로우 익스플로잇 개발 - 2 윈도우 버퍼 오버플로우 익스플로잇 개발 - 2 스택 기반 버퍼 오버플로우가 발생하는 경우 스 택 기반 버퍼 오버플로우는 스택상의 어떠한 데이터 구조체의 데이터의 바운더리(boundary)를 넘어서 데이터를 저장하면서 스택을 조작할 수 있게 되는 현상을 말한다. 스택 기반 버퍼 오버플로우는 결국 프로그래머의 실수로 인한 프로그램 문제라고 할 수 있다. 이러한 버퍼 오버플로우는 주로 배열에 대해 strcpy와 같은 함수를 사용할 때 많이 발생한다. 예를 들어 다음과 같이 간단한 프로그램을 짠다. #include void function(char *str) { char buffer[10]; printf(“buffer original len:%d ”,sizeof(buffer)); strcpy(buffer,str..
[해킹] 윈도우 버퍼 오버플로우 익스플로잇 개발 - 1 윈도우 버퍼 오버플로우 익스플로잇 개발 - 1 지난 3월 발견된 ntdll.dll의 버퍼 오버플로우는 스택 기반 버퍼 오버플로우의 한 사례를 보여주는 보안 버그였다. 이번 컬럼에서는 ntdll.dll 사례를 바탕으로 윈도우 환경에서 어떤 방식으로 버퍼 오버플로우가 일어나는지 그 원리와 작동 방식을 살펴보면서 고질적인 버퍼 오버플로우를 막을 수 있는 방법에 대해 잠시 생각할 수 있는 시간을 마련해 보았다. 최 근 보안에 대한 관심이 높아짐에 따라 TV와 신문에는 보안 전문가를 자처하는 많은 사람이 나와 작금의 허술한 보안에 대해 실상을 폭로한다. 그러나 그 속내를 들여다보면 회사 광고나 자사 제품 광고를 위한 것인 경우가 많다. 이른바 ‘보안’은 하나의 ‘상품’에 불과해진 것이다. 많은 이들에게 보안은 아..
디버깅 : Hex Dump 어떤 파일을 hex dump 하고 싶을 때가 있습니다. octal dump program인데 초기에는 8진수로만 제공되던 것이 hex 값도 출력할 수 있는 option을 지니게 되었지요. 가장 흔히 사용하는 방법은 od -tx1 입니다. type을 hex 로 하되 1 byte 씩 끊어서 출력하라는 것입니다. 1 을 여러가지로 바꾸어 시도해보세요. 이제 실시간 중에 memory 일부를 hex dump하고 싶을 때가 있는데, 사용하던 hex dump function을 소개하려고, 며칠간 틈틈이 수정하였습니다. 아래 소스를 보면 GL, GR 이런 말들이 나오는데, 이것은 charset을 정의할때 사용되는 말입니다. ksc5601 GR GL 등으로 검색해보세요. 보통 hexdump 옆에 print 된 내용을 덧..
디버깅 이야기 디버깅은 흔히들 프로젝트 전체중 80%를 차지한다고들 합니다. 그만큼 중요한 것이지요. 아마 그렇게 될 수 밖에 없는 이유는 프로그램을 시작하면서 그렸던 설계들이 바뀌면서 자신도 모르게 다음에 처리해야지 하는 것들이 한꺼번에 터지기 때문이리라 생각됩니다. 디버깅은 왕도가 없습니다. 경험해보지 않은 것들은 디버깅할 수 없다고 해도 과언이 아닐정도로 디버깅을 하기 위해서는 다양한 경험이 필요로 합니다. 디버깅을 잘 하기 위해서는 다음과 같은 태도를 버려야합니다. * 소스에 대하여.. 1. 함수의 return 값에 잘못된 확신을 갖는 것. 또는 return 값을 무시하는 코드가 있는 것. 2. warning의 의미를 모르는 채 넘어가는 것. 3. 고치긴 고쳤는데 그 원리를 알기보다 현상이 없어지는 것을 확인하..
[보안과 해킹] 알집 보안 버그 □ 개 요 o 알집 프로그램이 악의적으로 조작된 압축파일을 열어보거나 압축풀기를 실행하였을때 영향받는 시스템에서 임의코드 실행이 가능하므로 해당 S/W 사용자는 해결책을 참조하여 신속히 패치 바람 □ 영향 o 영향받는 시스템에서 임의코드 실행 □ 설명 o ALZ, ARJ, ZIP, UUE, XXE 포맷의 압축파일로부터 파일이름을 읽을 때 경계값 오류로 스택 또는 힙 버퍼오버플로우가 발생 o 악의적인 ALZ, ARJ 포맷의 압축파일을 열어보거나, ZIP, UUE, XXE 포맷의 압축파일을압축풀기할 때 영향받는 시스템에서 임의의 코드가 실행 가능 □ 해당시스템 o 영향받는 소프트웨어 - ALZip 6.12 이전 버전 □ 해결책 o 알집 프로그램의 파일(F) -> 온라인 업데이트(U) 메뉴를 클릭하여 최신버전..
[보안과 해킹] 웹 개발시 SQL Injection 취약점 주의! 웹 개발시 SQL Injection 취약점 주의![입력날짜: 2006-04-13]사용자 입력값이 SQL injection 발생시키지 않도록 수정다수 사이트, SQL Injection 취약점 공격에 무방비 상태 웹 취약점을 이용한 공격이 식을 줄 모르고 있다. 공격의 목적은 게임정보 탈취와 궁극적으로는 이를 이용한 게임아이템 거래로 돈을 벌기 위한 것이다. 정보통신부와 KISA는 이에 대한 대책으로 중국에서 들어오는 IP들을 차단하고 있고 자금 여력이 없는 중소기업의 웹사이트 관리자에게 공개 웹방화벽 구축을 권유하고 있으며 개인 PC의 보안패치율을 높이기 위해 각종 캠패인을 벌이고 있다. KISA 에서 운영하는 ‘보호나라’에서는 대국민 서비스로 원격 PC점검을 해주고 있고 대기업을 중심으로 보안솔루션 도입..
[OS] Windows XP 서비스팩 2의 보안기술 아미루(wany7980) http://cafe.naver.com/kav/1979 출처 : http://www.microsoft.com/korea/ 원문 : http://www.microsoft.com/technet/prodtechnol/winxppro/ko/maintain/sp2mempr.mspx 저자 : Starr Andersen(기술 집필가), Vincent Abella(기술 편집자) ------------------------------------------------------------------------------------------------------------------------------------------------ "Windows XP 서비스 팩 2에서 달라진 기능 3부 :?..