Your SlideShare is downloading. ×
[2013 CodeEngn Conference 09] 제갈공맹 - MS 원데이 취약점 분석 방법론
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

[2013 CodeEngn Conference 09] 제갈공맹 - MS 원데이 취약점 분석 방법론

352
views

Published on

2013 CodeEngn Conference 09 …

2013 CodeEngn Conference 09

MS 윈도우의 원데이 패치에 대해서 분석 및 접근 방법을 살펴본다. 또한, 최근에 나온 원데이 취약점 패치 분석을 진행하며 필요한 팁에 대해서 알아보고자 한다.

http://codeengn.com/conference/09
http://codeengn.com/conference/archive

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
352
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MS One-day 취약점 분석 방법론 제갈공맹 d7795gmail@gmail.com www.CodeEngn.com 2013 CodeEngn Conference 09
  • 2. 목차 u Zero-day & One-Day ? u Microsoft Patch & CVE ? u 분석 하기 전 사전 정보 수집 u MS11-002 분석 u 시연
  • 3. What is Zero-Day & One-Day? u Zero-Day ? u u 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협으로, 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격 One-Day ? u 공격자가 이미 벤더 측에 제보를 하여 패치가 되었으나 Exploit 이 없 는 상태를 의미
  • 4. Microsoft Patch u Microsoft 는 매달 두 번째 화요일 u 보안 패치 공지 화면
  • 5. Microsoft Patches name 마이크로소프트 MS 해당 연도 -13 패치 나온 갯수 -088
  • 6. CVE란? u Common Vulnerabilities and Exposures u CVE 는 잘 알려진 보안취약점 및 노출된 정보를 모아둔 곳 u http://cve.mitre.org
  • 7. CVE names Common Vulnerabilities and Exposures CVE 해당 연도 -2013 패치 나온 갯수 -088
  • 8. 취약점 기본 정보를 얻는 방법 u http://technet.microsoft.com/ko-kr/security/bulletin
  • 9. 취약점 기본 정보를 얻는 방법
  • 10. 취약점 기본 정보를 얻는 방법
  • 11. 취약점 기본 정보를 얻는 방법
  • 12. 취약점 기본 정보를 얻는 방법
  • 13. 취약점 기본 정보를 얻는 방법
  • 14. 패치 되기전 최신 파일 구하기
  • 15. Get File
  • 16. 보안 패치에서 dll 파일 추출 하기 u [패치 파일명] /extract:[path] 설치 프로그램을 설치하지 않고 파일을 추출 하는 명령어 http://support.microsoft.com/kb/262841
  • 17. 보안 패치에서 dll 파일 추출 하기 u 오피스 보안 패치 파일 /C /T:[보안패치 절대 경로] u msix [파일명].msp /ext /out [경로] u mst 및 cab 파일 추출 u cab 파일 안에 해당 패치 파일 추출 u msix 다운로드 경로 u http://www.windowswiki.info/wp-content/uploads/2009/07/msix.zip
  • 18. Get more u GDR u u 보안에 큰 영향을 주는 부분이 있을때 제공 LDR or QFE u 급하게 보안 패치를 내야 할 때 제공
  • 19. Get more u 분석 하기 이전에 알아 두면 좋은것들 u 윈도우 오픈 소스 프로젝트 u u 인터넷 브라우저 오픈 소스 u u http://www-archive.Mozilla.org/projects/firefox/index.html 오피스 오픈소스 u u http://www.reactos.org/ko http://www.openoffice.org/download/source/ 사전에 윈도우, 브라우저, 오피스 오픈 소스를 이용하여 어 떤 방식 프로그래밍 되어 있는지 확인
  • 20. 알아볼 취약점 Buffer OverFlow
  • 21. 취약한 함수들 strcpy strncpy strcat strncat sprint vsprintf gets strlen
  • 22. strsafe.h StringCbCopy StringCbCopyEx StringCbCopyN StringCbCopyNEx StringCbCat StringCbCatEx StringCbCatN StringCbCatNEx StringCbPrintf StringCbPrintfEx StringCbVPrintf StringCbVPrintfEx StringCbGets StringCbGetsEx StringCchLength StringCbLength
  • 23. 알아볼 취약점 Use After Free
  • 24. 해당 취약점 파일 찾기?
  • 25. 보안패치 파일 추출 후
  • 26. 해당 취약점 파일 찾기? HOW????
  • 27. 해당 취약점 파일 찾기? u 취약점이 존재 하나 어떠한 취약점이 있는지 알 수 없음 u 또한 어떤 파일에서 취약점이 발생 하는지도 역시 알 수 없음 u 그럼??? 어떻게 해야 할까? u 공개된 취약점을 분석한 뒤 어떠한 방식으로 취약점을 패치하 는지 확인 u 그럼 필요한 툴은???
  • 28. Tool u Diffing Tool u u TurboDiff u PatchDiff u u Darungrim BinDiff IDA
  • 29. Diffing 이란? • Diffing은 소스 파일과 타겟 파일 간에 변경 된 점을 보여주기 위 해서 사용 하는 기법 • 대부분의 binary Diffing의 경우 IDA의 데이터 베이스를 기반으로 분석
  • 30. Diffing을 하는 이유? u 현재 어떠한 부분에 대해서 오류가 발생 하였는지 알지 못함 u 많은 시간 소모 u 변경 된 부분을 찾아야지만 분석 가능
  • 31. Diffing의 대상은?? u 패치 파일 과 이전 패치 간의 파일 Diffing u 새로운 운영체제와 이전 운영체제 간의 파일 Diffing
  • 32. MS11-002
  • 33. 분석 하기전 사전 조사 u MS11-002
  • 34. 사전 조사로 얻은 정보 u 두가지 취약점 u u u ADO 취약점 DSN 란? u u DSN 취약점 Datebase Source Nmae 으로DB를 사용하는 어플리케이션에서 DB를 불러 올때 해당하는 DB를 연결시키기 위해 구분 짓는 이름 SQLConnectW function in an ODBC API (odbc32.dll)
  • 35. BinDiff를 이용하여 Diffing
  • 36. Diffing 결과로 얻은 정보 u 총 7 가지의 새로운 함수를 확인 u ValidateNullTerminatedStringW 유효성을 검사 u StringCchLengthA 길이를 체크 하는 함수
  • 37. 시연
  • 38. 감사합니다 www.CodeEngn.com 2013 CodeEngn Conference 09